编程,int a=6; a+=a-=a*a++ 的值?
3个回答
展开全部
-60 (或者 是 -59)
a++ 是后缀加,表达式里 用 原值6,出了表达式再自增 1
程序拆成:
a=a-a*a; 这步 得 a = 6-6*6 = -30
a = a+a; 这步得 a = -30 + (-30) = -60
出了表达式再自增 1, 即 a=a+1; a = -60 + 1 = -59.
若输出:
int a=6;
printf("%d\n", a+=a-=a*a++); 得 -60. (原因是后缀加,未出表达式 不自增1)
若输出:
int a=6;
a+=a-=a*a++;
printf("%d\n",a); 得 -59 (原因是 后缀加,出了 表达式 要自增1)
a++ 是后缀加,表达式里 用 原值6,出了表达式再自增 1
程序拆成:
a=a-a*a; 这步 得 a = 6-6*6 = -30
a = a+a; 这步得 a = -30 + (-30) = -60
出了表达式再自增 1, 即 a=a+1; a = -60 + 1 = -59.
若输出:
int a=6;
printf("%d\n", a+=a-=a*a++); 得 -60. (原因是后缀加,未出表达式 不自增1)
若输出:
int a=6;
a+=a-=a*a++;
printf("%d\n",a); 得 -59 (原因是 后缀加,出了 表达式 要自增1)
展开全部
//此题考察是否熟练掌握表达式的优先级
//1、计算自增1
//2、计算乘法运算
//3、计算减法
//4、计算加法
结果等于:-35
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return a 的话就是42 猜的对不
更多追问追答
追问
哎好像答案是 -59
能讲一下具体过程吗?答案也可能是错的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询