为什么c语言里++ i和++ i的结果不一样?
2个回答
展开全部
i++和++i都是c语言里的自增,但是它们自增的顺序不同。++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1。
for循环里循环变量增值用i++,而不用++i是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次,所以循环结构里通常都是循环变量在一次循环结构执行完成之后再自增。
扩展资料
i++和++i前置后置区别的例子:
1、a = i++;
相当于 a = i; i++;
2、a = ++i;
相当于 i++; a = i;
3、int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d\n", a, b);
结果是3,5。++前置:i自增1后再参与其它运算;++后置:i参与运算后,i的值再自增1”。很明显,a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j。
参考资料来源百度百科——自增自减运算符
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询