可能重复:
未定义的行为和序列点
变量i
更改了两次,但下一个示例会导致未定义的行为吗?
#include <iostream>
int main()
{
int i = 5;
std::cout << "before i=" << i << std::endl;
++ i %= 4;
std::cout << "after i=" << i << std::endl;
}
我得到的输出是:
before i=5
after i=2
可能重复:
未定义的行为和序列点
变量i
更改了两次,但下一个示例会导致未定义的行为吗?
#include <iostream>
int main()
{
int i = 5;
std::cout << "before i=" << i << std::endl;
++ i %= 4;
std::cout << "after i=" << i << std::endl;
}
我得到的输出是:
before i=5
after i=2