下列程序的运行结果为什么是1啊

CSDN问答 2021-12-30 14:34:49 阅读数:27

编程开发 程序 运行 下列 CSDN问答

#include<stdio.h>void main()
{int a=1,b=2,c=3;if(c=a)printf("%d\n",c);
else
printf("%d\n",b);
}
这个运行的结果为什么是1啊




采纳答案:

c=a是赋值运算,执行结果返回值一定是true,所以if(c=a)一定会执行内部的输出c,c被赋值了为a,结果打印为1



其他答案2:

c=a是赋值语句为真且c的值变成了1


其他答案3:

if(c=a)
是把a赋值给c,c变成了1,条件变成了:if(1),1就是真,所以输出c就是输出1

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7618514