我在使用这段代码时遇到了麻烦:
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 *”类型的参数不兼容
不断出现。
答案 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') {