呼吁公约混乱

时间:2015-01-02 10:00:54

标签: c

我遇到了C的调用约定,默认情况下,参数从右向左传递。因此,首先传递一个++将传递值2,并且a的值现在也是2,然后传递++ a将传递3,a的值现在将为3并且最后一个将通过。我的问题是当++ a和a ++已经被传递时,a的值已经被改为3.因此,该代码片段的o / p应该是3 3 3而不是3 3 1,这是在运行后获得的代码。

#include<iostream>
{
int a=1;
printf("%d%d%d",a,++a,a++);
}

0 个答案:

没有答案