为什么if括号里面还能进行赋值操作啊
#include<stdio.h>int main()
{
int x=4,y;
if(x<0){
y=0;
}
else if(x=0){
y=0;
}
else{
y=-1;
}
printf("%d %d",x,y);
return 0;
}
就是这段代码,最后x的值是0,y的值成-1,实在是没看懂,也没想明白 第一个if没进去。
第二个else if 把0赋值给了x,相当于判断条件是x,然而x是0,也就是否,那么第二个else if也没进去。
然后进else 把 -1 给 y
最后输出x是0, y是-1 表达式可以放在条件判断里
它是将表达式的运算结果作为条件判断
if(x=0) 先对x进行赋值,然后判断x是0,为假执行else,将y赋值位-1
不过,一般没人会这么干 time1970 发表于 2020-3-22 15:19
表达式可以放在条件判断里
它是将表达式的运算结果作为条件判断
if(x=0) 先对x进行赋值,然后判断x是0, ...
好的,谢谢
页:
[1]