繁体   English   中英

c-比较字符串中的字母

[英]c - compare letters in a string

好的,这一定很容易,但是我正处于其中的某一天:-p

我有一个char *数组,例如,如下所示:

char* symbols [] = {"++-", "--+"};

我正在尝试遍历symbols[0]symbols[1]并比较每个字符,以查看其是+还是-

我正在努力:

char* tmp = symbols[0];
for (int i = 0; i < strlen(tmp); i++)
{
    if(strcmp(tmp[i], "+") == 0)
    {
         printf("It's a plus!\n");
    }
    else if (strcmp(tmp[i], "-") == 0)
    {
         printf("Its a minus!\n");
    }
}

但是,在编译时收到警告:

comparison between pointer and integer [enabled by default]

我想我缺少基本的东西-有人可以帮我从树上看到木头吗?

symbols类型为char指针。 您需要一个指向char的指针数组。
更改

char* symbols = {"++-", "--+"};  

char* symbols[] = {"++-", "--+"};  

和条件if

if(strcmp(tmp[i], "+") == 0)  

if(tmp[i] == '+')

" "' '不同。 使用单引号表示一个字符,否则它是一个字符数组(这是一个数组)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM