inta=3,b=4,c=5;执行完表达式a++>b--&&b++>c&&++c 后abc的值为多少

如题所述

#include<stdio.h>
void main()
{ int a=3,b=4,c=5;
a++>b--&&b++>c&&++c;
printf("a=:%d\n",a);
printf("b=:%d\n",b);
printf("c=:%d\n",c);
}
答案是:
a=:4
b=:3
c=:5追问

能否讲解一下?

追答

&连接两条表达式的话,执行的时候会将两条表达式都算出来,再进行与运算;而&&连接的话,只要第一条表达式为假,则不计算第二条表达式。

a++ 先参与运算,再自增
++a先自增,再参与运算

分开来解答:a++>b--&&b++>c 首先比较a++>b-- ++或--在后面时进行比较,是以计算前的值来进行比较的 a=3,b=4 a>b就为假,那么a++>b--也是假的,后面的不再计算了。结果就出来了

追问

可是b为什么等于3?3>4是假的所以a++>b--也是假的后面的就不算了可b不应该等于4吗?a=3吗?

追答

a++ 和 b-- 进行a++>b--比较的时候,a=3.b=4
比较之后 a++ 的意思是a=a+1,最终a=3+1=4 b--的意思是b=b-1,最终b=4-1=3

温馨提示:内容为网友见解,仅供参考
无其他回答

有定义int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b...
a++>--b是取a加1前的值3和b减1后的值3比大小,结果是假,所以&&的最终结果肯定是假,后面的运行都不继续算了。所以a=4,b=3

int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,_百度知 ...
最后结果:a==4,b==3,c==5。

设inta=3,b=4,c;执行语句c=(a>b)?-a:b++后,c的值是
a>b是假 所以c=b++ ,++在后面,所以先赋值再自增 c的值是4

麻烦大家帮我帮我看看第七题,优先级是怎么分的,谢谢了
int a=3,b=4,c=5;a++>--b&&b++>c&&++c 这其实是个条件表达式,表达式自身的计算结果是真假,C语言里0表示假,非0表示真。现在说各个部分的计算,a++ 是先拿a(=3)来用,用完再+1 --b是先减1,然后再用。即:b=3 第一部分 a++>--b 其实就变成了 3>3的判断了。这个判断结果...

假定inta=3,b=2,c=0表达式c=a>b>1&&(a++==1+b++),a+b+c的值是?_百度...
a+b+c的值是5。因为a>b为假,值为0 0>1的值也是0。所以后面的&&(a++==1+b++)不执行。c的值就是0,a和b的值未变,所以,a+b+c的值是5。

请教C语言
假设a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},p先指向a[0]也就是数组a的首地址,那么p+1就是a[1]的首地址即元素9的地址,因为在定义p时int (*p)[4],定义一维数组长度为4,所以p+1就等于加了一个一维数组的长度4。 3. 字符串的指针和指向字符串的指针变量 1)字符串的表示形式 c中...

...后b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);
举报| 答案纠错 | 评论(4) 260 6 419337244 采纳率:37% 来自:芝麻团 擅长: C\/C++ 其他回答 在do执行完后,b变成9在while语句中,先判断b<0==false再进行b--;所以b==8;又例A[3]={0,1,2};a=1;那么A[++a]==2;A[a++]==1;但无论是哪一个a都变成了2 逆笔回锋 | 发布于2010-11-07...

C语言 此题答案为4 3 5 怎么得来呢(希望每个步骤说出来 谢了)_百度...
即为0,b++>c表示比与c比较后自加1,++c表示c先自加1再读。所以最终a加了1变成了4,二b是先减1在加1没变,而c 由于b++>c不成立,++c没有执行,所以c值不变!另外逻辑运算符&如果前面的语句是为假,那么整个语句都为假,而后面的语句就不用执行了!所以是4,3,5!不知你明白否!

inta=1,b=2,c=3求表达式c+=a>b?++a:++b
三目运算的优先级高于赋值运算,所以先计算三目表达式a>b?++a:++b.由于a>b为0,所以取++b的值3,再算赋值运算c+=3,结果是6.

C语言逻辑运算符
int a=-1, b=0;if(a++&&b++)printf("%d %d",b,a);if(++b&&++a)printf("%d %d",a,b);return 0;} 程序的输出结果是1 2。通过分析代码流程,我们可以看到,逻辑判断与变量操作的顺序与结果。在第一次if()判断中,左侧的表达式(a++&&b++)首先进行求值。由于a的值为-1,左侧为假...

相似回答