C语言
int a=-5,b=5;printf(a>b?"a=%d":"b=%d\n",a,b);
为什么上面这段程序运行出来的结果b=-5
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
为什么这段程序运行出来的结果是0,0,5?
(a=b,b+3)这一段程序什么意思? 三元表达式,条件为假取后面的值。 int a=-5,b=5;
printf(a>b?"a=%d":"b=%d\n",a,b);
a>b为假,所以输出printf("b=%d\n",a,b);因为只有一个%d,所以只取第一个值 int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
c=(a-=a-5) a=a-(a-5)=a-a+5所以c=a=5,但又因为a=b所以a=b=0 zSoy 发表于 2020-4-13 18:32
int a=-5,b=5;
printf(a>b?"a=%d":"b=%d\n",a,b);
a>b为假,所以输出printf("b=%d\n",a,b);因为只有一个% ...
这个答案可以
页:
[1]