函数func(a++, a, a++, a++) 参数传递 的奇怪问题
#include <iostream>
using namespace std;
void func(int a, int b, int c, int d)
{
printf("%d ", a);
printf("%d ", b);
printf("%d ", c);
printf("%d ", d);
printf("\n");
}
int main()
{
int a ;
a = 2;
func(a++, a, a++, a++);/* 输出为 4 5 3 2 */
}
为什么 func函数第2个参数(即a)的输出值为5 为什么不是4 ?