关于运算符的面试题

1、运算符
int x = 2;
int y = (x++) / 3;

Y 的结果为 0;

论证为什么为0的解释为(翻译以上过程):

int func(int x)
{
	return x;
}
int func1(int& x)
{
	int y = x;
	x = x + 1;
	return y;
}
void main()
{
   int x = 2;
   int y = func(func1(x)) / 3;
}
解析执行顺序:
=> func1(2)
=> y == 2; x == 3;  return => y
=> func(2)
=> static_cast(2 / 3);
=> 0

你可能感兴趣的:(代码)