串信相比,不兼容的参数

问题描述:

我在使用这段代码的麻烦:串信相比,不兼容的参数

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

应该检查是否是我的信件等于A.是否尝试过进入ABC不同字母但错误:

Error: Argument of type "char" is incompatible with parameter of type "const char *" in "main.cpp"

不断出现。

+2

C不是C++ - 不要垃圾标签。请发布[MCVE]。 –

+0

您的字符串长度为5个字符,并带有两个'\ 0'字符。我猜这不是你想到的。 – chris

+0

您正在使用strcmp来比较单个字符。 strcmp用于比较字符的数组或字符串 –

strcmp()函数比较字符串,而不是个别字符。您可以比较使用内置==操作字符:

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

顺便说一句,有没有需要手动添加就行空终止(1) - 语言将增加这个给你。

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

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

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