2.2运算符和表达式
2.2.1算术运算符
这部分请移步到《运算符的意义与优先级》章节
2.2.7自增、减运算符
自增、自减运算符
“++”“--”是单目运算符,且这两个算子必须是变量。这两个运算符分别叫自增和自减运算符,它们的作用是给这个变量+1或-1。
count++;
count+=1;
count=count+1;
上式表示的含义相同。
前缀后缀
++和--可以放在变量前面,叫作前缀形式,也可放在变量后面,叫作后缀形式。
a++的值是a+1以前的值,而++a的值是加了1以后的值,无论哪个,a自己的值都加了1。
#include<stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
int b = 15;
printf("b++=%d\n", b++);
int c = 15;
printf("++c=%d\n", ++c);
return 0;
}
最后a=15,b++=15,++c=16
#include <stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
printf("++a=%d\n", ++a);
printf("a++=%d\n", a++);
return 0;
}
最后a=15,++a=16,a++=16
#include <stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
printf("a++=%d\n", a++);
printf("++a=%d\n", ++a);
return 0;
}
最后a=15,a++=15,++a=17
当然,自减运算也类似,那为了节省空间,有兴趣再展开看吧。
点击查看代码
#include<stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
int b = 15;
printf("b--=%d\n", b--);
int c = 15;
printf("--c=%d\n", --c);
return 0;
}
最后a=15,b--=15,--c=14
点击查看代码
#include <stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
printf("--a=%d\n", --a);
printf("a--=%d\n", a--);
return 0;
}
最后a=15,--a=14,a--=14
点击查看代码
#include <stdio.h>
int main() {
int a = 15;
printf("a=%d\n", a);
printf("a--=%d\n", a--);
printf("--a=%d\n", --a);
return 0;
}
最后a=15,a--=15,--a=13
这里有一个很有趣的地方,不知道大家有没有发现。上面的两组代码中我只是把a++和++a(a--和--a)的位置调换了一下,最后输出的结果却是完全不同的。
如自增的第二组代码,前置++,就是先让a+1,输出的就是自增1的数,后置++,就是先输出了a的值然后再自增,所以导致输出的数就是自增前的数了;同样,如自增的第三组代码,先后置++,先输出了a的值再自增,然后再算前置++,导致a的值连续加2,所以最终就变成17了。自减同样如此,不再赘述。
那么什么时候先++a,什么时候先a++呢?当我想要自增完后的新值参与计算那就用++a,想要用原来的值参与计算,然后顺便让它+1,就用a++。
include&It;stdio.h>
int main(){
printf("Welcome to lonelywhale's world!\n");
printf("It's a whale named Willow");
return 0;
}

浙公网安备 33010602011771号