为了账号安全,请及时绑定邮箱和手机立即绑定

printf(%d\n",a+1)不改变原来的值

http://img1.sycdn.imooc.com//562b8367000133c704060208.jpg

http://img1.sycdn.imooc.com//562b8394000121a000990171.jpg

http://img1.sycdn.imooc.com//562b82710001887806820226.jpg

#include

int main()

 {    int x = 101;    

printf("%d\n",x+1);    

return 0; }

 运行结果为102 为什么?

正在回答

3 回答

前一句打印时a的值是101,a--的值也是101,那句执行过后,a的值就自减为100了。

然后在这一句就是打印a+1=100+1=101,这句就是单纯的一个加法,不会改变a本身的值啊。


也许你有些概念没有厘清,详细解答请看这里我的回答 http://www.imooc.com/qadetail/83948

0 回复 有任何疑惑可以回复我~
#1

浅忆影流年 提问者

非常感谢!
2015-10-25 回复 有任何疑惑可以回复我~

题主,你是没分清楚a++与++a的区别么?注释的上一行代码执行完后a的值是100啊

0 回复 有任何疑惑可以回复我~
#1

浅忆影流年 提问者

你确定是100?我都给了 运行结果 是101了
2015-10-24 回复 有任何疑惑可以回复我~

printf(“%d\n",a+1);输出的是a+1的值,不是a;

a=a+1;

printf("%d\n",a);此时才会被改变。


0 回复 有任何疑惑可以回复我~
#1

浅忆影流年 提问者

执行printf(“%d\n",a+1)语句之前a的值不是101吗?照你说的输出a+1不应该是102吗?
2015-10-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

printf(%d\n",a+1)不改变原来的值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信