如何解决C:无法比较字符
我有如下C代码。我有abcd
作为输入,而我想要的输出是aBcd
。
但是在line1[i] == "b"
行,我得到一个错误,说我在比较指针和整数...为什么“ b”是整数?
我改用"b" == line1[i]
,但不起作用。我该如何解决?谢谢
#include<stdio.h>
#include<string.h>
int main(){
char line1[10]="abcd";
char line2[10];
strcpy(line2,line1);
int i;
for (i = 0; i < 10; ++i)
{
if(line1[i] == "b"){
line2[i] = "B";
}
}
printf("%s",line2);
return 0;
}
解决方法
这是不正确的:
if (line1[i] == "b")
您正在比较字符,而不是字符串,因此应该是:
if (line1[i] == 'b')
您收到的错误消息:
我收到错误消息,说我正在比较指针和整数...为什么 “ b”是整数吗?
这实际上意味着“ b”是一个指针(它是char指针),而您的line1[i]
是一个整数(实际上是一个char)。
您对此有相同的问题:
line2[i] = "B"; //<-- should be 'B' instead
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。