【发布时间】:2014-08-25 17:30:30
【问题描述】:
int main()
{
int c=5;
printf("%d\n%d\n%d", c, c<<=2, c>>=2);
return 0;
}
我不知道在 printf 函数中分配是如何发生的。输出是 4,4,4,但据我说应该是 4,4,1。
【问题讨论】:
-
根据标准,这是未定义的行为。您似乎希望从左到右评估函数参数。它们可能是也可能不是。
-
@Sayse 这显然是 C,而不是 C++。
-
@user3477950 - 我已经有一年多没有写任何东西了,我不记得语法了