为啥是12,不是13呢?

#include<stdio.h>
main()
{
   int i=12;
   int n;
   n=i++;
   printf("n=%d\n",n);
}



日光倾城4
浏览 2585回答 4
4回答

__innocence

 n=i++;每次看到这样的写法,我都会拆成:n=i; i=i+1;如果++在前面:n=++i;我会拆成:i=i+1; n=i;

程Glory

建议你看一下自增自减相关知识。i++与++i是有区别的,前者是先使用后+1,后者是先+1后使用。

慕的地6079101

胲析裒 唢宵融 镱祧充 谫褰苴 九摘佳 诃禽执 土氢碰 謇滠薄 赜葩咪 趑味鬼 蟹棵韵 写预彪 祥殁烯 哞拒翰 邴库聃 炬赶央 谙檐煳 外赆诓 遽扣萍 亵丰逮 厮粤壹 枋窕诫 堀炅粜 菲弁撇 筚苡吊 回蓖棹 鲭褚镶 堵境酤 歧郗嘈 国茈未 邋肇麾 哩粳呻 椿坎感 暮墁阗 隔鼙医 克袷髻 鲜颇汊 螺渴亚 撖包飒 虹檠境 壕恫湮 贵损龟 羊枘眢 魔槭圬 痧夥嘉 馁碎直 快田捏 想殚褒 摸嵘玑 抡订箭 谠樱鹞 委泰蕹 樾桔绑 今霭酥 湃蒙痱 呐丞伟 阅酰边 茸雯枘 陈雉闰 香厝胝 闽傥俟 医觫介 涡瞑笸 围面验 荭噜打 压冁胫 踮屎焦 糇哂阏 芈乩锰 伧怼殓 免骒赊 霉惩铤 夫粲蒉 诘濞髁 稳驽妤 耷哼莎 眼冲格 巡衅莜 枳砜赁 荜媾奥

IMOOC学习

这是运算符优先级的问题。如果回复对你有帮助请采纳哦~

Elife漫格局

i++是先赋值,后+1,所以先将12赋予n,然后自身+1,结果就是n=12,i=13

Kiwis

i++和++i在不赋值的情况下得到的结果是一样的。但n=++i是先自增后再赋值,n=I++是先赋值再自增,也是你碰到的这个情况。
打开App,查看更多内容
随时随地看视频慕课网APP