C语言 原因

作者&投稿:衅往 (若有异议请与网页底部的电邮联系)
int a,b=250,c;
if((c=b)<0) a=4;//这里,将b的值赋给c,此时c就等于250了,但是c不小于0,a还是没有值
else if(b=0) a=5;//这里,如果b=0的话,a的值为5,但是b不等于0
else a=6;//输出,此时a=6,b=0,c=250;

if(c=(b==0))//b==0为真,所以c=1,这里的c为布尔型,转换为int 型的,
a=5;//此时a=5,b=0,c=1

if(a=c=b) a=4;//这里将b的值0赋给a和c,此时a=0因此括号里面的值为假,不执行if里面的a=4,因此 //a=b=c=0

直接在编译器中输入就可以了啊,看输出啊,

~