诡异的C语言实参求值顺序

时间:2022-05-02 11:33:47

学了这么久的C语言,竟然第一次碰到这么诡异的实参求值顺序问题,大跌眼镜。果然阅读面太少了!

#include<iostream>

void foo(int a, int b, int c)
{
std::cout<<a<<","<<b<<","<<c<<std::endl; //3,2,1
}
int main()
{
int i=;
foo(i++,i++,i++);
}

亦即C/C++求值顺序是从右到左。