关于++与--
关于++与--,介绍一下计算过程,编译器是DEV-C++.
先请看几个例子:
j = j++ + j++ + j++;//这个题比较BT.不同的编译器有不同的结果。
主要的思想是:
在前置++和--中,在加法中,先运行所有的++和--运算;在进行加减运算,在减法中,则
是按照顺序进行。在后置++和--中,不管在加法还是在减法中都是保持变量在算是中不变
,而本身进行了相应的变化。根据实验发现在乘除法中,和加法一样。若有加法又有减法
,则分离后按照上述规则进行。
先请看几个例子:
1 {//1.语句:
2 int x=4,y;
3 y=(++x)+(++x);
4 cout<<x<<endl<<y<<endl;
5 //输出:
6 //6//12
7 }
8
9 {//2.语句:
10 int s=3,t;
11 t=9-(--s)-(--s);
12 cout<<s<<endl<<t<<endl;
13 //输出:
14 //1
15 //6
16 }
17
18 {//3.语句:
19 int x=4,y;
20 y=(x++)+(x++);
21 cout<<x<<endl<<y<<endl;;
22 //输出:
23 //6
24 //8
25 }
26
27 {//4.语句:
28 int x=4,y;
29 y=9-(x--)-(x--);
30 cout<<x<<endl<<y<<endl;
31 }
int j = 5;2 int x=4,y;
3 y=(++x)+(++x);
4 cout<<x<<endl<<y<<endl;
5 //输出:
6 //6//12
7 }
8
9 {//2.语句:
10 int s=3,t;
11 t=9-(--s)-(--s);
12 cout<<s<<endl<<t<<endl;
13 //输出:
14 //1
15 //6
16 }
17
18 {//3.语句:
19 int x=4,y;
20 y=(x++)+(x++);
21 cout<<x<<endl<<y<<endl;;
22 //输出:
23 //6
24 //8
25 }
26
27 {//4.语句:
28 int x=4,y;
29 y=9-(x--)-(x--);
30 cout<<x<<endl<<y<<endl;
31 }
j = j++ + j++ + j++;//这个题比较BT.不同的编译器有不同的结果。
主要的思想是:
在前置++和--中,在加法中,先运行所有的++和--运算;在进行加减运算,在减法中,则
是按照顺序进行。在后置++和--中,不管在加法还是在减法中都是保持变量在算是中不变
,而本身进行了相应的变化。根据实验发现在乘除法中,和加法一样。若有加法又有减法
,则分离后按照上述规则进行。