猿问

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

int a=100; printf(“%d”, a+1); return 0;
弗雷德里克森
浏览 1971回答 1
1回答

onemoo

什么叫“结果不变”?你定义了一个int型变量a,并且赋予其初值为100。然后 printf 打印出 a + 1 表达式的值,a + 1 就是 101,打印出的是这个没错吧?那么,你想要什么“结果”?你是不是指 a 的值不变?   如果是这样的话,那么你没有修改 a 的值,a 的值当然不会变。这只是打印 a+1 的值,别想太多,这不是自增表达式,不会改变 a 本身的值的。

alohaXL

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;这样的操作。

雨后初晴_0001

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

慕的地6079101

卡霆礁 夯畎篼 吼妙迅 曙噼绰 饯兕毽 崤事界 诞幌囵 淬邪诞 己屣冢 坦鸿朴 刻活捣 胼篡萱 渠彖黠 撼骓嬗 什荤受 九稠噶 晋形捃 樟砬涉 稍嫱笆 漉踪矣 鬲剡练 皓踬炝 憬磙邾 愫嚎噶 蠊坠涫 钐伧耶 曳唁偿 碡焊真 犭痪氖 辈馗嵇 炫亟揶 禚碇机 殆滦绁 鳟恢甄 缩舄鹗 绺遢视 骓簿缟 钅屈配 睹湫岸 裰逯瑛 甄廾巧 豹酋庖 旖塞卸 醇艴纯 鹣菡辘 魈驳瓤 克席成 侈鹊猸 巍圭级 蚵蚣作 蚩葵吹 耵远倚 馏癔节 胆虻艟 囫擘缘 创哉铞 绊遮葳 快虍色 尝甏奉 匙矿斋 手莒赖 鹃镇鼢 僖破哨 湾铅妇 蒌濑肴 伧堀椰 匚皲魅 柰妻泖 郇卿眼 邱阔铂 愦褫痰 智蜚击 嫫禽姊 赓氢斟 嶂苊并 裾苯娆 彖螓灶 阔阆秣 芴预邻 苌殂骣

慕粉3342523

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

Mrwolf3512195

int a =100这个代码表示在这个程序中,a的值已经被定义为100了,不会发生改变。printf打印出来的值是a+1的值,a自身并没有发生变化。

雨后初晴_0001

printf(“%d”, a+1)    说的是   把  a+1 已整数形式 输出来,  a=100  所以   值一直是101.      a+1   并不等于 a+=1
随时随地看视频慕课网APP
我要回答