int a=5,b=-3,c=4;printf("%d %d",(++a,b++),b++);为什么结果就变成-3 -3?
printf("%d %d",(++a,b++,b++),b++);
中,对输出的计算是从右到左求值的,那么输出应该是-2 -3啊
(++a,b++,b++)代表的是最后一个内容块,即b++
括号内前两个进行先运算得出相应的结果
也就是说你那句相当于
++a;
b++;
printf("%d%d",b++,b++);
先看这个
void main()
{
int a=1,b=2,c=3;
printf("%d %d %d",b,a+++b++,++b+c);
}
结果是3 4 6 所以是从右向左算的
抱歉,能力有限
printf("%d %d",(++a,b++,b++),b++);
为什么是-2 -2? 谢谢你的回答,没有财富值了,不然就给你了
如果有"int a=5,b=3;"那么在执行“!a&&b++"之后,a和b的值分别是多少?为...
a = 5, b =3!a = 0,但是只是一个临时值,a并没有再被赋值&& 左边不成立的话就不会 执行右边的b++因此b++ 没有执行,自然b的值没改变另外(|| 左边不成立的话,才会继续执行右边的代码) 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 tlptjsj3721 2012-03-19 · 超过14用户采纳过TA的回答...
在c语言中int a=5;printf("%d %d",++a,a++);答案是6 和5,为什么不是6...
printf()在对逗号后面的数据处理时是按照从右往左的顺序的,即先执行a++,再执行++a,这样,输出的第二个数就是5了,而在执行++a时,c语言中并不认为这是第二次使用a(这段执行过程最好看汇编),所以执行的其实是5+1,所以输出的第二个数是6 其实你可以试一下printf("%d %d",++a,++a)...
C语言 int a; a=5; printf("a=%d\\n",++a); printf("a=%d\\n",a++...
比如a = 1 ++a 这个表达式返回2 a的值为2 a = 1 a++这个表达式返回1 a的值为2 就是a++ ++在后面返回的是a加之前的值 ++a ++在前返回的是a加之后的值 你上面的例子 printf("a=%d\\n",++a); ++a应该返回6 执行这行后a = 6 printf("a=%d\\n",a++); a++...
main() { int a=5; float b=4.,c; c=a++\/--b; printf("%f,%f,%d\\n...
所以:1、c=a++\/--b=5\/3=1.666667,计算后a的值为6.2、在printf语句中,先计算a%4,求余,6%4=2;3、接着计算a++\/--b=6\/2=3,然后a的值变为7 综上:所以结果为1.666667,3.000000,2
int a=5,b; b=++a*++a ;printf(“%d”,b);
49 先逐步自增再统一取值
...main() { int a=5,c; c=(a+=a++); printf("%d,%d\\n",c,a); }...
关键在于这一语句的理解 c=(a+=a++);1、先看右边括号中的 a+=a++,对于它,再看等号右边,右边 a 先执行运算,再加1,所以先执行a+=a; 得到a=10,将a的值赋于c 2、再执行a++,10加1就得到了11
在C语言的环境下,a=5;b=a++;c=--a-b++;d=(a++)-(++b)+c--;结果是多少...
然后进行第三步“c=--a-b++”,首先--为前缀,所以先运算--a,结果a=5,由于++为后缀,所以接下来先运算c=a-b,结果c=5-5.为0,最后进行b++运算,结果b=6 最后一步“d=(a++)-(++b)+c--”,先运算括号里面的“a++”和“++b”,结果a=6,b=7,由于--为后缀,所以...
...设a=3,b=-4,c=5; 请问大师表达式++a-c+(++b)和表达式++a-c+++b...
等价于 (++a)-(c++)+b 结合性是尽可能地跟前面的结合;所以有 (++a)-(c++)+b 先算前置的,再算表达式的,再算后置的。(++a)-c+(++b)a=a+1;b=b+1;a-c+b;这就是表达式++a-c+(++b) 的值;(++a)-(c++)+b a=a+1;a-c+b;这就是表达式++a-c+++b的值,c=c+1;...
int a=5; printf(“%d”,a++);
a++是先输出上次的结果,下次的时候才按加1算的!++a则是本次就输出加1后的结果。
若有定义语句int a=5,则表达式:a++的值是 答案是5,为什么不是6呢,我...
那个表达式的值的确是5,但是那个表达式之后a就为6了。