关于c++中的自加符问题

发布时间:2024-05-10 01:56 发布:上海旅游网

问题描述:

假如i=3
如果是cout<<i<<i++;
则输出4 3
但是如果调用函数 f(i,i++);
void f(int a,int b)
{cout<<a<<b;}
输出的却是3 3
为什么?
编译平台是VC6

问题解答:

深究这个问题实在没意义,因为++的具体操作并没有在ANSI中得到定义,所以不同的编译平台会有不同实现方式,碰到这种情况,你唯一需要做的就是在代码中完全取消并避免这种混淆
我不知道你是什么编译平台,至少我在gcc上的输出结果都是3

代码中的二义性就应该避免 支持楼上

热点新闻