大家来看看这个程序
/*START*/#include <stdio.h>
void foo( int i, int j)
{
printf( "%d, %d\n", i, j);
}
int main()
{
int i =0;
foo( ++i, i++);
printf( "%d\n", i);
getchar();
return 0;
}
/*END*/
输出结果:
2,0
2
我怎么想也想不明白,怎么会输出这个值呢?
我觉得是应该输出 1,2
2
请问高手到底电脑编译的时候是怎么个过程呢?
[ 本帖最后由 lizunjie 于 2009-9-11 10:01 编辑 ]