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

各位大神,为什么a+1结果不变?

各位大神,为什么a+1结果不变?

C
弗雷德里克森 2016-12-08 14:36:30
int a=100; printf(“%d”, a+1); return 0;
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

什么叫“结果不变”?

你定义了一个int型变量a,并且赋予其初值为100。

然后 printf 打印出 a + 1 表达式的值,a + 1 就是 101,打印出的是这个没错吧?

那么,你想要什么“结果”?


你是不是指 a 的值不变?   如果是这样的话,那么你没有修改 a 的值,a 的值当然不会变。这只是打印 a+1 的值,别想太多,这不是自增表达式,不会改变 a 本身的值的。

查看完整回答
1 反对 回复 2016-12-08
?
alohaXL

TA贡献2条经验 获得超2个赞

printf(“%d”, a+1);则输出101,a还是100;

如果你 printf(“%d”, a++);则输出100,a是101;

如果你 printf(“%d”, ++a);则输出101,a是101;

得出结果,你并没有对a进行再赋值。比如a=a+1; a++; ++a;这样的操作。

查看完整回答
2 反对 回复 2016-12-08
?
雨后初晴_0001

TA贡献5条经验 获得超3个赞

printf 是个输出语句,不是赋值语句

查看完整回答
1 反对 回复 2016-12-08
?
慕粉3342523

TA贡献17条经验 获得超5个赞

输出语句是101,a还是100,除非你赋值+1

查看完整回答
反对 回复 2016-12-08
?
Mrwolf3512195

TA贡献12条经验 获得超3个赞

int a =100

这个代码表示在这个程序中,a的值已经被定义为100了,不会发生改变。

printf打印出来的值是a+1的值,a自身并没有发生变化。

查看完整回答
反对 回复 2016-12-08
?
雨后初晴_0001

TA贡献5条经验 获得超3个赞

printf(“%d”, a+1)    说的是   把  a+1 已整数形式 输出来,  a=100  所以   值一直是101.      a+1   并不等于 a+=1

查看完整回答
反对 回复 2016-12-08
  • 1 回答
  • 0 关注
  • 1919 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信