永发信息网

关于 i++和++i在编程中的问题。

答案:3  悬赏:50  手机版
解决时间 2021-12-02 07:34
关于 i++和++i在编程中的问题。
最佳答案
第一个程序中输出结果应该是 4 3;
printf("%d %d\n",i,i++); 输出语句是从右往左执行的。
i++ 之后i就变为4;i++ 是先引用在自增; 所以是 4 3;
printf("%d %d\n",i,++i); 中 ++i 中i先自增在使用,子增后变为4; 所以是4 4;

循环中 for(i=0;i<=n;i++)和for(i=0;i<=n;++i)没什么太大区别,不过后一个运行时节省空间追问(1)我也认为应该是 4 3 但是我运行输出是 3 3 这也是我问的原因。
(2)请问为什么后一个节省空间?谢谢了!追答i++ 运行时先储存i,然后再进行自增运算,而++i 直接得到自增后的结果
我是用的dev c++。那个结果就是4 3 啊。追问我用的visual C++ 6.0 确实输出 3 3.原来真的是编译器的问题?不过我相信你确实输出了 4 3。
你的意思是++i并不存储i,而是直接做i+1 所以节省了空间对吧?追答是的
全部回答
(1),i++和++i分别是使用i之前加1和使用i之后加1,也就是说、还是举个例吧:
int i=1 ,则i++=1,而++i=2; 了解不??
printf("%d %d\n",i,i++);在编译器中是从右到左计算的

(2).i++和++i在for循环中并无差异都相当于i=i+1;

望采纳~~!!!追问(1)你说的都对 但是C语言书上认为从右到左计算输出结果是 4 3.我也是这么认为的。可是我运行程序后运行结果是3 3.难道说我编译器有问题?
您的答案也很好 但是我觉得2楼回答的更合我的心意!所以这次不能采纳您的回答了。见谅!
谢谢您!
++i 是先对 i求++运算,然后使用i的值。而i++正好相反。函数的参数是从右往左算的

i++与++i单独用没区别的,所以第二个没区别
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家有喜林氏集团的内奸是谁啊?
09年十月份那天订婚好?我俩都属鼠
既是24的因数又是12的因数有()
星星照相馆地址好找么,我有些事要过去,
剑网三 裁缝的粗线哪里找?
自己开车从青北江到双流机场怎么走少走高速
我国目前焊接技术水平存在哪些差距
5w公里什么意思?
单选题“红旗飘,军号响。子弟兵,别故乡。王
车子买来一年不到车门出现问题可以找卖家吗
if i am single,you are single,are you wi
东油(厦门)石油化工有限公司怎么样?
沙发3.9米,茶几1.35米,地毯多大合适
4.沉降速度和悬浮速度的物理意义有何不
所有类型房间里 冰箱中的酒水都是免费的吗
推荐资讯
婚礼选择不同档次的有什么区别吗
二手苹果机和一手有什么区别
引用古诗写关与介绍扇子的句子
求问阿尔法工业flex尺码 1.87/210斤穿多
唐县全胜峡与石家庄新乐距离
为什么退伍的老说什么城镇户口农村户口,为什
挑选水果都有哪些实用的小技巧
throwback thursday什么意思
一般更换波箱油要不要清洗和养护什么的?
从内江驾车到宜宾观斗山温泉路如何
如何让echarts中y轴的单位位于数值的右上角
求助:我的LM2576电路为何得到的输出电压为0?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?