为什么即使在输入中键入hello,我的if语句也会被忽略


#include <stdio.h>
int main()
{
char a[]=("hello");
char b[10];
printf("enter value: ");
scanf("%s",b);
if(b==a){
printf("%s",a);
}
return 0;
}

当我运行这段代码时,它显示我'输入值',但当我输入'hello'等于变量'a'时,它没有显示if语句。

==将检查ab是指向内存中相同字符串的指针,但它们不是。比较内容对于这些字符串,您可以使用strcmp:

if (strcmp(a, b) == 0) {
printf("%s", a);
}

如果您希望scanf使用一行输入,则写入scanf("%sn",b);

另一点是,您希望比较缓冲区内容,而不是指针。在if()子句中使用strcmp函数

相关内容

  • 没有找到相关文章

最新更新