#include<stdio.h> void main() {int a=1,b=2,c=3; if(c=a) printf("%d尀n",c); 答案为什么是1

2024年11月15日 21:29
有2个网友回答
网友(1):

注意看这句
if(c=a)
括号里面只有一个等号,所以是一个赋值表达式,也就是把a的值赋给c,表达式的结果就是所赋的值1,表达式的值非零为真,继续执行,输出c的值,由于c已经被赋为1了,所以输出结果为1。

注意 c=a 和 c==a 是不一样的,前者是赋值,后者才是比较相等。

网友(2):

因为在if语句中你给c重新赋值了“c=a”,所以c为1,如果是这样:
if(c==a) printf("%d",c);
则c还是3,但是不会打印出结果