1、单独使用
在C语言中,我们使用i++ 来实现自增操作,同样++i 也适用于自增操作的,这时的i++ 和++i 与i=i+1 是等价的。
#include <stdio.h>
int main()
{
int i,j;
i=0;
j=0;
i++;
++j;
printf("i=%d,j=%d",i,j);
}
输出结果为i=1,j=1
2、在赋值语句中
a=i++ 先将i的值赋值给a,然后i自增 b=++i i先自增,然后再将i的值赋值给b
#include <stdio.h>
int main()
{
int i,j,a,b;
i=j=0;
a=i++;
b=++j;
printf("a=%d,i=%d,b=%d,j=%d",a,i,b,j);
}
输出结果:a=0,i=1,b=1,j=1
3、在判断表达式中:
同赋值语句中的功能相似
- i++:先执行判断,再加1
#include<stdio.h>
int main()
{
int i=0;
while(i++)
{ printf("i=%d\n",i);
if(i==3) break;
}
printf("i=%d\n",i);
}
输出结果为 i=1
分析:i++先把i的值0拿出来做判断条件,此时while(0)条件为假,所有不执行while循环体,但是判断完成后,i执行+1动作(i=i+1),所以i=1,输出值为1;
- ++i:先自增加1,再执行判断
#include<stdio.h>
int main()
{
int i=0;
while(++i)
{ printf("i=%d,",i);
if(i==3) break;
}
printf("i=%d\n",i);
}
输出结果为:i=1,i=2,i=3,
分析:++i,执行过程先把i的值执行i=i+1,此时i=1再进行判断,所有while(1)条件为真,然后在执行循环体,输出i=1回车换行,if不成立,继续循环;依次类推
参考文章
|