首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

if(cs==xm||csyy==xm)if语句中的逻辑运算有关问题

2012-08-14 
if(csxm||csyyxm)if语句中的逻辑运算问题[codeC/C++][/code]#include stdio.h#include windows.h

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))

成功

热点排行