if(cs==xm||csyy==xm)if语句中的逻辑运算问题
[code=C/C++][/code]#include <stdio.h>
#include <windows.h>
main()
{
char xm[10],cs[10]={"张三"},csyy[10]={"caishi"};
printf("请输入你的姓名:");
scanf("%s",&xm);
if(cs==xm||csyy==xm)
{
printf("**************************************************************");
}
else
printf("123");
}
为什么无论输入什么,都是输出123
[解决办法]
if(strcmp(cs,xm)||strcmp(csyy,xm))
[解决办法]
字符串内容比较要用strcmp的方式(用法见:http://baike.baidu.com/view/1026924.htm)。而不是if(cs==xm||csyy==xm),这样的写法,是比较cs的地址和xm的地址是否相同(csyy的地址和xm的地址是否相同)
[解决办法]