#include<stdio.h>void main(){int a=1,b=2,c=3;if(c=a)printf("%d\n",c);elseprintf("%d\n",b);}这个运行的结果为什么是1啊
c=a是赋值运算,执行结果返回值一定是true,所以if(c=a)一定会执行内部的输出c,c被赋值了为a,结果打印为1
c=a是赋值语句为真且c的值变成了1
if(c=a)是把a赋值给c,c变成了1,条件变成了:if(1),1就是真,所以输出c就是输出1