以前看C十分浅显,并没有举一反三,对一段代码也没有认真分析。所以说:是时候去认真了呀!
C中i++与++i
++、--在C语言中叫自增、自减运算符(单目),其优先级高于所有一级运算符,他们之间的优先级相同,结合方式为“自右向左”。并且只能用于变量,不能用于常量和表达式。
(1.)前缀形式:++i
表示对变量先自动加1或者自动减1,然后再参与其他运算,即先改变变量值后使用,如++k,--k;
(2.)后缀形式:i++
表示变量先参与其他运算,再对变量先自动加1或自动减1,即先使用后改变,如k++、k--;
问题:
求1到100的和中:
#include<stdio.h>
int main()
{
int i=1;
int sum=0;
while(i<=100)
{
sum=sum+i;
++i; //此处的++i可以用i++吗?有何不同?
}
printf("%d\n",sum);
}
经过我的实验,上例中++i与i++的运算结果一致,均为5050.
++i:第一次循环结束时sum=1,i=2;
第二次循环结束时sum=3,i=3;
。。。。。。。。。。。。。
可见符合。
i++:
第一次循环结束sum=1,i=2;
第二次循环结束sum=3,i=3;
。。。。。。。。。。。。
可见符合。