当我们需要对一个变量加一或减一并赋值给自己的时候,我们可以写成i++、i—或++i、--i的形式。它们也被称为增量减量运算符,或++--运算符。
自增自减运算符可以放在变量之前,也可以放在变量之后。它们有什么区别呢?粗略地看,++i和i++都是实现将变量i的值加一并赋值给本身,也就相当于i = i + 1。
但是将++i和i++赋值给一个变量的时候,两者的差异就产生了:#include <stdio.h>
int main()
{
int i = 5, j;
j = ++i;
printf("i = %d, j = %d\n", i, j);
i = 5;
j = i++;
printf("i = %d, j = %d\n", i, j);
return 0;
}
程序执行后,可以看得出来,两者的结果是不同的:[fishc@localhost s1e16]$ gcc test1.c && ./a.out
i = 6, j = 6
i = 6, j = 5
它们的区别是:i++是先使用变量i中保存的值,再对自身进行++运算;而++i则是先对自身进行++运算,再使用变量i的值(这时候变量i的值已经加一了)。
另外,自增、自减运算符只能作用于变量,而不能作用于常量或表示。
这一讲视频可以帮到你:http://v.qq.com/page/y/h/n/y0301ylz1hn.html
|