送分喽,帮我读下程序:)

xirenshen 2004-07-26 11:26:49
hello kitty(){
BYTE a;
if(a=getinput()){
......
}

}

这里的if语句判断的是什么啊?是不是应该写成if(a==getinput())双等号形式啊,请不惜赐教
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xirenshen 2004-07-26
  • 打赏
  • 举报
回复
ok I see
  • 打赏
  • 举报
回复
原程序没有错,一定不会是==,而是=。因为在前面a只是定义一下,并没有初始化,没有有实际意义的值,而只有在a=getinput()里,a才得到赋值,而加上if只是判断赋值是否合法,如果是a==getinput()的话,a这时的值是什么?怎么同getinput()比较,显然不合理。所以还应该是if(a=getinput())
xirenshen 2004-07-26
  • 打赏
  • 举报
回复
thanks
那如果赋值不成功a的值是0对吗
geesun 2004-07-26
  • 打赏
  • 举报
回复
上面说得都对!
killer1984 2004-07-26
  • 打赏
  • 举报
回复
“=”在这里是赋值操作符,所以这里判断的是你输入的字符,肯定为恒真。

“==”是逻辑运算符,改了以后判断的是变量a里的值是否与输入的字符相等。
peter9606 2004-07-26
  • 打赏
  • 举报
回复
如楼上所说~
yeedward 2004-07-26
  • 打赏
  • 举报
回复
if不一定是判断==
也可能是判断赋值是否成功

上面好象就是判断a是否被赋值

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧