输出的值为什么是1啊,谢谢
#include<stdio.h>main()
{
int a=3,b=3,y=2,x=1;
printf("%d",(a=1)&&(x=b>a));
} 看看这个就懂了
#include<stdio.h>
main()
{
int a=3,b=3,y=2,x=1;
printf("%d, %d, %d\n",a==b, a<b, b>a );
} int a=3,b=3,y=2,x=1;
printf("%d",(a=1)&&(x=b>a));
首先这是一个逻辑运算,其结果非0即1
其次并运算要求全真才是真
好,我们来看左端a=1这是一个真值
右侧,b>a 这又是一个逻辑运算3>1是真
所以右端x=1为真所以整个表达式为真 wp231957 发表于 2021-4-29 07:41
int a=3,b=3,y=2,x=1;
printf("%d",(a=1)&&(x=b>a));
首先这是一个逻辑运算,其结果非0即1
意思就是(a=1)&& (x=b>a)的a=1就是已经赋值了吗? 肖-肖 发表于 2021-4-28 22:10
你的帖子下面有一个帖子.意思是上面第二行有个a=1已经把a赋值为1了.谢谢啊 joe1 发表于 2021-5-1 15:10
你的帖子下面有一个帖子.意思是上面第二行有个a=1已经把a赋值为1了.谢谢啊
嗯 好的 明白了
页:
[1]