标签: 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++); }