i++和++i有什么区别?在执行程序前后进行++吗?i++和++i有什么区别?
https://blog.csdn.net/david8631/article/details/2707914/
比如
a = i++等价于
a=i;
i+=1;
而
a = ++i;等价于
i+=1;
a=i
for循环里面{
#打印的是i,先运算,运算结束之后i的值再加1
print(i++)
#打印的是i+1
#先将i的值加1之后,才进行运算
print(++i)
}
例
i=1
a=i++
此时a=1
i=1
b=++i
此时b=2
i++先算后加,++i先加后算
#include<stdio.h>
int main()
{
int i=1;
printf("%d\r\n",i++);
printf("%d\r\n",i);
return 0;
}
输出 :
1
2
#include<stdio.h>
int main()
{
int i=1;
printf("%d\r\n",++i);
printf("%d\r\n",i);
return 0;
}
输出:
2
2
i++与++i 的主要区别就是i++ 返回原来的值,++i 返回加1后的值。还有 i++ 不能作为左值,而++i 可以,就是++i=1可以而i++=5就不行