if (c=a)这句话
先执行c=a,这是c的值就是1
if (c=a)实际上就是if(1)
当然就会执行
printf(("%d\n",c);
而这个时候c就是1
结果当然就是1了
if后面是双等号才对
a是1 b是2 c是3
如果 (给c a的值 )这个行为能成功的话
打印 c
否则
打印 b
Hint 这里都会成功 因为 c=a 肯定能行 如果是比较的话 应该写成 if(c==a)
c=a; 赋值语句 c的值变成1了
赋值语句 都为真 true
if(c=a) 相当于 if(true)
故执行 printf("%d\n",c);
1
先执行a=1的值赋给c,即c=1;再执行if语句的“printf(‘’%d\n“,c);”语句