#define SQ(y) ((y)*(y))
void main()
{
int i=1;
while(i<=5)
cout<
为什么输出的结果是1 9 25?
我是这样理解的:在第一个cout语句中等价于cout<<((i++)*(i++))<<"\t";
因为i=1,所以第一个i是1,然后i++,所以i变成2,所以不就是1*2吗,所以第一个输出是2。这样理解哪里错了呢?
c=a+b与c=b+a虽然调用的是同一个函数,但结果有可能不同的.
例如:string a="abc",b="def",c;
c=a+b;//执行完c="abcdef";缺少的对象是a
但是c=b+a;//执行完是c="defabc";缺少的对象是b
少的操作数是前面的操作数.