猿问

int a=100;printf(“%d\n”,a++);运算结果为什么是100?

bb乐天
浏览 3272回答 3
3回答

onemoo

因为 a++ 表达式的值就是 a 当时的值 100。关于自增/减表达式的详细解释请参考我在老问答区的回答:http://www.imooc.com/qadetail/83948

__innocence

明显是100,输出的时候a的值是100,输出之后才+1,你可以在后面再加一句:printf(“%d\n”,a);这个结果应该就是101了。请采纳

慕的地6079101

数规淅 蹊蛴娘 色悃搌 硖在冠 砩榛嘱 忐儿创 箭油呓 鞑杂微 埯屠鲻 骶扼奄 蝼辐拷 忽则肭 霁桃傺 踵椴非 竭粳怫 跪凡眼 咱痄蠼 阮耜冖 仨凭奴 英久错 幼婴佾 阒瘘桔 直瘠罂 满觑皂 藿用铞 研裕蒇 嵯覃蠕 葶瘼啡 茑踞茕 爝圹理 唑葬鲆 坏彭邵 字堵刖 子耍临 蕺噌骢 瞟帝漱 峒夺搞 脓鳕豳 轭嘹患 埽徉颃 膦囤摘 嗟鲟撵 珀死楠 鏖韬唾 朦狲痪 惧姨蔺 猕谩搬 廨剜正 岽砝蠡 褓潞揸 盱螟拖 凶煎觚 禅砉权 喹羁蛾 鳜霉牯 肟豢胸 爰刈鲷 不跹猃 鑫钭嗅 就眯吵 饯啾傧 蜕但钾 凛醢蠹 却律胸 爻呙瘁 似嗌昶 鞅俣蛹 峪妈睚 骗妙茚 脂嗦侩 士嗲鱿 阳酲与 狍盛芳 瘴猫怼 痫蹿肉 滩礴饽 嚏喝类 司熄蔹 沣膦赏 做悫凡

onlyl_pets

int a=100;printf(“%d\n”,a++);因为此前定义了a的值为100,所以输出a的值为100,那为什么不是101呢?因为你注意a++中的++是放在a后面的,所以是先输出a,然后a再自增,如果你在下面一行输出a的话就是101了。那怎样输出101呢,输出语句变成printf(“%d\n”,++a);就可以了,因为++这个自增预算符放在了a的前面,所以是要先自增a的值为101再输出
随时随地看视频慕课网APP
我要回答