1.例1
#include<stdio.h>
main()
{
int a=1,b=2;
int c,d,e,f,g;
printf("假设: a=1,b=2\n");
g=a*b;
printf("a*b=%d \n\n",g);
c=a*b--;
printf("c=a*b--之后b=%d,c=%d\n",b,c);
d=a*b++;
printf("d=a*b++之后b=%d,d=%d\n\n",b,d);
// 自增自减符号(加加减减符号)作为 后缀 时,一般在算数表达式完成后 进行运算!
e=a*--b;
printf("e=a*--b之后b=%d,e=%d\n",b,d);
f=a*++b;
printf("f=a*++b之后b=%d,f=%d\n\n",b,d);
// 自增自减符号(加加减减符号)作为 前缀 时,一般在算数表达式完成前 进行运算!
}
效果:
2.算数运算符和算数表达式:https://blog.csdn.net/u012336596/article/details/113837473
3.例2(易错)
#include<stdio.h>
main()
{
int a=3;
printf(
" 第一个: %d\n 第二个: %d\n 第三个: %d\n 第四个: %d\n 第五个: %d\n 第六个: %d\n ",
++a,--a,a++,a--,-a++,-a--);
//不同编译器 可能出现 各种不同方向的 赋值和计算
// ,符号 如果作为算数运算符, 则可能出现 先全部计算完 再分别放置的情况
//这玩意就像小时候数学卷子里后面20分的附加分一样,找规律...............
}
运行效果:
注意:
运行效果以具体的编译器为准,不同编译器效果可能不同,这里是 VS2010 win32位 集成开发环境.