例如,看谭浩强的<C++程序设计>,语言可以,但错误有些多,感觉是仓促出书,也没办法,谁让是第一版呢?其中有个举例:i=3,函数fun(i,++i)是什么?在VC++ 6.0里,谭认为是fun(3,3),但我认为是fun(4,4),最后越想越不明白,请赐教,谢谢.又或者是fun(i,i++)呢,我以为是fun(4,3),不知对不对?

热心网友

同意yaunx,fun(i,++i)绝对是极差的编码风格,让看代码的人看不懂。对不同的平台还会出问题。如果我是经理,先把这种人开了。这种问题只是用于辅助了解一下编译器的原理就足够了。

热心网友

纠正楼上的一个错误,在ANSI C里面并没有规定如何读入参数,只是通常的做法是从右到左

热心网友

C的编译是从右到左的,应该是fun(4,4)

热心网友

这种东西没必要研究,这种东西关乎编译器,等你学过编译原理就会明白了