所以我有两个C ++代码:
第一个:
int main()
{
int a=10, b=8;
b=a;
++a;
b++;
cout<<a<<"\n"<<b<<"\n"<<--b<<"\n";
return 0;
}
第二个:
int main()
{
int a=10, b=8;
b=a;
++a;
b++;
cout<<a<<"\n";
cout<<b<<"\n";
cout<<--b<<"\n";
return 0;
}
它们各自的输出是:
第一个输出:
11
10
10
第二个输出:
11
11
10
您会注意到,如果我使用单行cout
值,则输出与如果我使用多行cout
值会不同。
任何人都可以解释发生了什么事吗?
谢谢。
答案 0 :(得分:-2)
一行执行时
--b;
首先评估值,然后将其打印在(b和--b)中。
,然后在换行中执行cout时:
--b;
最后评估值。