Chinaunix

标题: 一个问题 [打印本页]

作者: workhard3    时间: 2004-10-21 22:01
标题: 一个问题
看书看到一个程序段
#include <iostream.h>;
void main( )
{
 int a,b,c;
 a=1,b=2,c=a+b+3;
 cout<<a<<','<<b<<','<<c<<endl;
 c=(a++,a+=b,a-b);
 cout<<a<<','<<b<<','<<c<<endl;
}
输出结果如下:
 1,2,6
 4,2,2


实在想不出第二组的结果是怎么出来的,大家帮忙给个解释吧 谢
作者: aero    时间: 2004-10-21 22:14
标题: 一个问题
a++,之后a==2,
a+=b,因为b==2,所以a==4,
b根本就没有改变。
a-b的结果是2,
c是整个逗号表达式的值,也就是最后一个结果的值,也就是a-b了,就是2。
作者: aspbiz    时间: 2004-10-21 22:27
标题: 一个问题
楼上的说得对。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2