main()
{
int x=4,y,z;
y=(++x)+(x++)+(x++);
z=(–x)+(x–)+(x–);
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
}
运行结果为:
x=4,y=15,z=18
分析:
Turbo C语言系统一般按以下三步完成计算:
1)将所有先自增、自减运算抽出进行计算;
2)将第1)步计算的结果代入表达式中,计算表达式的值;
3)再将所有后自增、自减运算抽出进行计算。
上面程序中的表达式 y=(++x)+(x++)+(x++);先进行自增(++x)1次,在进行后自增2次。即Turbo C语言系统先进行1次x的前自增计算,使x的值由4变为5,然后将5带入表达式中计算(即”x+x+x”),结果为15,并赋给变量y,最后进行两次x的后自增计算,使变量x的值由5变为7。计算表达式z=(–x)+(x–)+(x–)时同理。
注:引用自 王曙燕. 2008. C语言程序设计(第二版). 北京: 科学出版社
欢迎使用CSDN-markdown编辑器
最新推荐文章于 2024-10-12 22:54:21 发布