
C语言中,循环语句中的++i 和i++表达的意思一样不?
展开全部
如果单独写成一句,意思没有区别,都是对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操作。
但是如果和其他语句组成符合语句就不一样了,例如,i = 10; a=++i;结果是a=11;而a=i++;结果是a=10;原因就是对于a=++i;由于++在前,所以先对i进行+1操作,所以a=11,而a=i++;++在后,所以先a=i=10然后再对i进行+1操作。
展开全部
不一样的。
++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)
++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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
单独是一个语句时无区别,作为赋值表达式的右值时有差异:
例子:
#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);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您好,再循环体内他们连个是等价的,仅仅表示自增,但是通常使用i++
for(i=1; i<=10; i++)
{}
先给 " i " 赋初值1, 判断 " i " 是否小于等于10, 若是则执行语句, 之后值增 加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。
for(i=1; i<=10; i++)
{}
先给 " i " 赋初值1, 判断 " i " 是否小于等于10, 若是则执行语句, 之后值增 加1。再重新判断, 直到条件为假, 即i>10时, 结束循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不一样,++i 输出的值是i+1后的值 i++ 输出结果就是i的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询