5个回答
展开全部
正确答案为 25,++ 和--的运算级比*的 要高,所以先运算++a和--a
然后再 相乘;++ --是二级运算符,*是三级运算符 ,所以 先++a 为6,a现在为6;接着--a,a现在为5;接着相乘 就是5*5 所以答案为 25. 不相信 可以是程序
#include<stdio.h>
main()
{ int a=5,b;
b=++a*--a;
printf("%d",b);
}
然后再 相乘;++ --是二级运算符,*是三级运算符 ,所以 先++a 为6,a现在为6;接着--a,a现在为5;接着相乘 就是5*5 所以答案为 25. 不相信 可以是程序
#include<stdio.h>
main()
{ int a=5,b;
b=++a*--a;
printf("%d",b);
}
更多追问追答
追问
“先++a 为6,a现在为6;接着--a,a现在为5;接着相乘 就是5*5 ”
为什么不是6*5啊?
追答
因为a 先开始为六
在六的基础上 --a 就为5了 所以a就为5 因为 a只有一个 所以a当前值就是5;他们两用的是一个a比如 你 定义了一个空间 这个空间 只能放一个数,先开始 空间里的数加一 ,接着你又让空间里的数减一,空间里的数 又变回去了 然后 你在用空间里的数 做算术,答案不就是a*a了 是 先把a的运算做完,在做算术运算 也就是a++完直接 做--a 这样同一个a 好好想想就明白了
展开全部
整型变量a的值为5。
计算过程:
a初值为5,经++a运算后值为6,接着--a,值自减1得5,即a=5,随后a*a得25并赋值于b,所以b=25。
所以,a的值为5。
计算过程:
a初值为5,经++a运算后值为6,接着--a,值自减1得5,即a=5,随后a*a得25并赋值于b,所以b=25。
所以,a的值为5。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-20
展开全部
++a是先自增 ++a a=6 --a a=5 最后a=5 b=25
更多追问追答
追问
++a不就是6嘛,--a不就是5,++a*--a是不是=(++a)*(--a),不就是6*5了啊?
追答
++运算符优先级高于*所以 ++a a=6 --a a=5 a最后的值就是5 就变成5*5啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=5,b=25
先做(++a),a为6.然后(--a),a为5,然后相乘,得b为25
先做(++a),a为6.然后(--a),a为5,然后相乘,得b为25
追问
答案是25,不过5*6=30啊.还有啊,这是要在VC上运行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询