比较字符串与字母,不兼容的参数

时间:2017-04-24 13:57:24

标签: c string string-comparison

我在使用这段代码时遇到了麻烦:

char myword[] = "ABC\0";
   // for loop for length of array 
   for (int i = 0; i<strlen(myword); i++) { 
    if (strcmp(myword[i], 'A') == 0) {...

应该检查i的字母是否等于A.尝试输入ABC作为不同的字母,但错误:

  

错误:类型“char”的参数与“main.cpp”中“const char *”类型的参数不兼容

不断出现。

2 个答案:

答案 0 :(得分:2)

strcmp()函数比较字符串,而不是单个字符。您可以使用内置的==运算符比较字符:

char myword[] = "ABC"; // (1)
// for loop for length of array 
for (int i = 0; i<strlen(myword); i++) { 
    if (myword[i] == 'A') { ...  }
}

顺便说一下,没有必要在第(1)行手动添加空终止符 - 语言会为你添加这个。

答案 1 :(得分:-1)

if (strcmp(myword[i], 'A') == 0) {

strcmp用于比较字符串,而不是单个字符。只是尝试直接比较字符,即

if (myword[i] == 'A') {