A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 明非 中级黑马   /  2015-4-10 21:57  /  1443 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int a=10
a=a--
为什么输出的值会是9?应该是10吗?

17 个回复

倒序浏览
答案是10吧,表达式的值是10,然后a--,a赋值为9,再赋值为10---
回复 使用道具 举报
应该是9吧,不确定,取Xcode里敲一下就好了
回复 使用道具 举报
这个个人觉得是10
回复 使用道具 举报
kaiyan1208 发表于 2015-4-10 22:06
这个个人觉得是10

可是确实是9
回复 使用道具 举报
应该是10,a--先把10赋给a,然后才自减1的
回复 使用道具 举报
这么变态的问题再哪儿找的?关键是问那个a
回复 使用道具 举报
肯定是9啊!假如是int a=10;b=a--; 要输出b就是十,那这时的b就相当于你要输出的a。
回复 使用道具 举报
chensc 金牌黑马 2015-4-11 07:27:31
9#
学习学习!
回复 使用道具 举报
答案是10,不是9
回复 使用道具 举报
yesha 中级黑马 2015-4-11 07:37:05
11#
值值值值值值值值值值值值为10
回复 使用道具 举报
a的值是10,这个时候电脑会忽略优先级
回复 使用道具 举报
学习一下
回复 使用道具 举报
wzboy 中级黑马 2015-4-11 11:26:29
14#
a=a-- 这里会有警告的。忽略警告的话 值是10;
回复 使用道具 举报
有警告信息的,但是结果是10.warning: multiple unsequenced modifications to 'xxxx'       [-Wunsequenced]     xxxx = xxxx --;          ~      ^ 1 warning generated.
回复 使用道具 举报
必然是9啊!int a = 10;//声明一个变量a =10;
                a= a--;//这句代码代表a减一,也就是10-1=9
               printf("%d\n",a);//你在打印出来这个值肯定是9 啊!怎么可能是10 呢??
回复 使用道具 举报
Sange 中级黑马 2015-4-11 13:35:21
17#
答案应该是10
回复 使用道具 举报
表达式,a的值是分开的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马