在C语言中,若: int a=8 那么-a(++)的值是多少?

如题所述

这么写是错误的,不能通过编译。
若是-(a++)的话,其值是-8 ,然后a的值为9追问

那-a++呢?

追答

效果完全相同。
因为它们的优先级相同,但是是从右向左结合的。所以等同于-(a++)

已通知提问者对您的回答进行评价,请稍等

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-02
-a(++)的值为8

在C语言中,变量a=3,那么赋值表达式-a++的值是多少?麻烦说具体点,谢谢...
这两个都是把a自加1,不过++a的返回值是a+1,a++的返回值是a,所以,最后结果就是 -3

-a++和-a--
C默认是从右向左传递参数,也即函数参数先计算右边的,再计算左边的,以你这个为例,先计算-a--,得到的值是-8,作为实参传递给printf,此时a=7;然后计算-a++,得到-7,作为实参传递给printf,此时a=8.调用方式如下:_cdecl(是C语言默认的函数调用方法),_stdcall(是C++的标准调用方式),PASCAL(...

c语言中-a++什么意思,怎么运算,最好能举个例子,谢谢。
int a=1;printf("%d\\n",-a++);printf("%d\\n",a);输出-1 2

C语言,设int a=3,执行printf(“%d”,-a++)后,输出结果为( )_百度知...
结果是111.调用函数的时候,函数的参数是从后往前依次通过堆栈传参.比如一个函数:aaa(1,2,3 );这里是先把 3 入栈,然后是 2 ,最后是 1 .那么同样,printf 的其中三个参数排列依次是 --a,a++,--a 其中a的值是 2 ,先算倒数第一个 --a,再算a++,最后才算第一个--a.(注意:这里有一个...

C语言中,int a=6,a+=a-=a*a++的值是多少,请列出步骤
答案是-70,因为=是右联接,而且优先级低,所以算式从右往左算,先算a*a++,再算a-=,最后算a+=。好了那么先算a*a++,因为a++的优先级比*高,所以先算a++,a++是a的值带入算式中,然后再自增,也就是先把a=6的值带入*中,然后变为7.所以a*a++就变成7*6=42,a-=42相当于a=a-...

C语言中 int a = 3, b; b = a = -a++; 结果是什么?为什么?
您好,这个样子来的,最后b=-3,a=-2

C语言,设int a=3,执行printf(“%d”,-a++)后,输出结果为( )_百度知...
答案是-3 这里注意- 和 ++的优先级 再次 要注意 a++和++a 的区别 a++是 运行完之后 +1 即如上题 输出-3 ++a 是 当前+1 如果是 printf(“%d”,-(++a)) 则输出的结果是-4 这个题目主要的点还是在于 a前++ 即(++a)还是 a后++ 即(a++)...

若int a=3;则表达式(a++)+(a++)+(a++)的值是多少
B,C 是三个复合运算,他们运算先后没有规定\/* 当然由于ABC都一样,所以区分这个没啥必要,只是为了全面,别听信一些扯淡的回答 *\/\/\/ 然后对于 a++; 运算,a的值究竟在什么时候增加1,又是C语言未规定的\/\/ 对此唯一有的约束是,在一个分号; 之前的所有运算,必须结束\/\/ 也就是在下一条语句前...

C语言中为什么i=-a++和i=-(a++),i和a的值运算结果都是一样的?
其次, a++, 自增在后,表达式的值取a的原值, 比如a=3; i=a++; i的值是3,a的值是4 所以你给出的表达式, i结果为-3, a结果为4 也不用太过于追究, 这个东西也不见得永远是对的, 这个跟你使用的编译器有一定关系,知道怎么回事就行了,也就是在学习\/考试的时候会出现, 正常人不...

c语言计算机二级考试选择题如图?
(22) 在C语言中,合法的长整型常数是 A) 0L B) 4962710 C) D)(23) 表达式:10!=9的值是 A) true B) 非零值 C) 0 D) 1 (24) 合法的C语言中,合法的长整型常数是 A) '\\t' B) "A" C) 65 D) A (25) 若有说明和语句:int a=5;a++;此处表达式a++的值是 A) 7 B) 6...

相似回答