c基础书中的例子疑问

来源:百度知道 编辑:UC知道 时间:2024/06/01 22:10:49
if(a=b)
printf("%d",a);
else
printf("a=0");
和直接是a=b有什么区别?除了输出形式
希望大家看清楚我的问题

把b的值赋给a,如果a的值是非零就进入printf("%d",a);如果a的值是零,就进入printf("a=0");

放在if条件中赋值,在用a的值,也就是所赋的值作为if条件真假的判断,和
a=b
if(a)
。。。
是一样的

这里好想有问题吧

if(a=b) //如果是赋值的话` 那就一直是真` 我觉得应该是 a==b
printf("%d",a);
else
printf("a=0");

二楼正解