大一C语言
发布网友
发布时间:2022-05-16 23:39
我来回答
共5个回答
热心网友
时间:2023-09-15 02:53
你看if(c=a)这句,这是一个赋值语句,是把a的值赋给C,所以C就等于1了,C等于1之后,再判断是否为真,C不等于0,所以,if条件成立,就执行
printf("%d\n",c);
所以就是1了
热心网友
时间:2023-09-15 02:54
走的是if(c=a)
printf("%d\n",c);
main()
{
int
a=1,b=2,c=3;
if(c=a)
printf("%d\n",c);
else
printf("%d\n",b);
}
if(c=a)
printf("%d\n",c);
if中
c=a不是判断而是赋值,把a的值给了c
因为是正值判断条件正值都为1(真)
所以输出
printf("%d\n",c);
c=a
所以c=1
刚开始大意了,没看清楚
if(c==a)
才是判断2个变量是否相等,
if(c=a)是把变量a的值赋给了c
热心网友
时间:2023-09-15 02:54
c==a才是比较语句,c=a只是赋值语句。
因为a=1,所以c=a=1,条件为真,输出c现在的值1.
热心网友
时间:2023-09-15 02:55
因为c=a是赋值语句,将a的值赋给c
c=1
打印c
热心网友
时间:2023-09-15 02:55
c=a
就是吧a的值给c
永远为真。当然输出1啊
注意不是if(c==a),奥妙就在这里。