C语言中,循环语句中的++i 和i++表达的意思一样不?

 我来答
qicaiwuya2
推荐于2017-11-25 · TA获得超过115个赞
知道答主
回答量:32
采纳率:0%
帮助的人:42.6万
展开全部
如果单独写成一句,意思没有区别,都是对i进行+1操作。
但是如果和其他语句组成符合语句就不一样了,例如,i = 10; a=++i;结果是a=11;而a=i++;结果是a=10;原因就是对于a=++i;由于++在前,所以先对i进行+1操作,所以a=11,而a=i++;++在后,所以先a=i=10然后再对i进行+1操作。
lcumume1
2012-11-22
知道答主
回答量:10
采纳率:0%
帮助的人:10.9万
展开全部
不一样的。
++i:++在前面,属于前置运算,意思就是先进行加法再赋值(给等号另一边的值);
i++:++在后面,属于后置运算,意思就是先赋值再进行加法;
这两种差异主要表现在赋值运算中。
比如 i=1;a=i++;cout <<a<<endl;cout <<i<<endl;输出结果就是1 2;(i先赋值给a再自增)
i=1;a=++i;cout <<a<<endl;cout <<i<<endl;输出结果就是2 2.(i自增为2之后再赋值给a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
腹剑悬针
推荐于2018-07-04 · TA获得超过235个赞
知道答主
回答量:107
采纳率:100%
帮助的人:63.6万
展开全部
C语言中,循环语句中的++i 和i++表达的意思都是变量自增1;
单独是一个语句时无区别,作为赋值表达式的右值时有差异:
例子:
#include "stdio.h"
void main()
{
int a,b,j,k;
j=k=5;
a = ++j; //j先自加,再赋值
b = k++; //k先赋值,再自加
printf("%-4d%-4d%-4d%-4d\n",a,b,j,k);
++j;
k++;
printf("%-4d%-4d\n",j,k);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佬的啊我沙沟曾08
2012-11-22 · TA获得超过1045个赞
知道小有建树答主
回答量:305
采纳率:100%
帮助的人:353万
展开全部
您好,再循环体内他们连个是等价的,仅仅表示自增,但是通常使用i++
for(i=1; i<=10; i++)
{}
先给 " i " 赋初值1, 判断 " i " 是否小于等于10, 若是则执行语句, 之后值增 加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
街角轉身SayBye
2012-11-22 · TA获得超过150个赞
知道答主
回答量:163
采纳率:0%
帮助的人:76.9万
展开全部
不一样,++i 输出的值是i+1后的值 i++ 输出结果就是i的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式