读书人

if(cs==xm||csyy==xm)if语句中的逻辑运

发布时间: 2012-08-14 10:39:57 作者: rapoo

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的地址是否相同)
[解决办法]

探讨

引用:
if(strcmp(cs,xm)||strcmp(csyy,xm))

成功

读书人网 >C语言

热点推荐