C语言问题 int a=3,求a++*a 要解释过程!
a++*a
可以理解为a*a,a+1;
++a*a
可以理解为a=a+1,a*a;
你可以简单的把后增。理解为整个运算结束后,再进行增加。标记为 "," 或";"
这样就不会弄错了。
另外不要使用i=i++; 有些编译器会报错。
a=a+(a-a*a)
a=-3
不对
a=a-a*a=-6
然后a已经等于-6了
所以a+=a 应该是-12
值为9
++运算符比 *(乘号)优先级高
相当于(a++)*a
a++的值为 3(你不要误以为下一个a的值会变为4, 一般情况下有后++的, 当这条语句完成后其值才会改变, 更编译器有一定关系)
故结果为9
答案应该是12,首先的确++的优先级比*高,因此该先执行a++,执行完a++之后,a的值马上改变,所以原式相当于3*4=12,因此答案应该是12
晕哦,基本问题啊,运算符的优先级,书上现成的啊
C语言问题 int a=3,求a++*a 要解释过程!
a++*a 值为9 ++运算符比 *(乘号)优先级高 相当于(a++)*a a++的值为 3(你不要误以为下一个a的值会变为4, 一般情况下有后++的, 当这条语句完成后其值才会改变, 更编译器有一定关系)故结果为9
c语言求分析int a=3;a+=a-=a*a;(或者a*a换成a*=a),之后计算a值。
a=(a+(a=a-a*a))这是个连续赋值问题,a的值是变化的,其遵循右结合原则,a-a*a=-6,a=-6-6=-12(最后值)
int a=3; a+= a-= a* a;运行结果
那么:int a=3;a+=a-=a*a;相当于:1.a-=a*a;2.a+=a;然后相当于:1.a=a-a*a;2.a=a+a;由于a初始化为3:1.a=a-a*a=3-3*3=-6;2.a=a+a=-6+(-6)==-12;所以最后结果就是-12
求c语言高手解设有语句:int a=3;执行语句a+=a-=a*a;求变量a的值
赋值语句,从右到左依次运行:那么:int a=3;a+=a-=a*a;相当于:a-=a*a;a+=a;然后相当于:a=a-a*a;a=a+a;由于a初始化为3:a=a-a*a=3-3*3=-6;a=a+a=-6+(-6)==-12;所以最后结果就是-12
int a=3 int b=5 计算a+2b的C语言应该怎样编写?
int main(){ int a=3,b=5,c;c=a+2*b;printf("c=%d",c);getch();return 0;}
int a=3,a+=a=a*a,求a的值
a=18.先执行 a = a * a,得到a=9 然后执行 a += a, 得到a=18
c语言问题int a=3;a*=a+1,求计算表达式的值!在线等!
在C语言中有很多缩写的方式,数字1+运算符+等号+数字2即为:数字1等于数字1运算数字2 此处即为a=a*(a+1),又如:a+=b即为a=a+b,a-=b即为a=a-b,a\/=b即为a=a\/b,a%=b即为a=a%b,a^=b即为a=a^b
设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是...
【答案】:D 由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值9,再计算a-=a*a,使a的值为-6,接着计算a+=a,使a的值为-12。所以解答是D。
C语言算术去处符 int a=3; 表达式(a++)+(a++)值是多少?执行表达式后a...
不对a = 5,结果为6测试程序及结果见图片
#include "stdio.h" main() { int a=3; a+=a-=a*a; printf("%d\\n",a...
a+=a-=a*a; 首先搞清楚是怎么运算的 +=,-=为右结合,*的优先级最高 所以先运行*运算,然后再运行-=运算,a += (a -= (a*a))也就是 a = a - (a*a); 此时a的值变为了-6;再运行 a += a; 即 a = a+a; 结果就为-12啦 ...