c语言 函数调用中实际参数为赋值表达式情况

c语言 函数调用中实际参数为赋值表达式情况


#include
void zm_f(int);

int main(void)
{
int a;
a=2;
printf(“a=%d\n”,a);
zm_f(++a==3?8:1);/或者是将++a与其他值比较/
printf(“now a=%d\n”,a);
return 0;
}
void zm_f(int n)
{
int a;
for(a=0;a printf("%c",‘f’);
printf("\n");
}
输出为
c语言 函数调用中实际参数为赋值表达式情况_第1张图片
从结果可以知道,在调用zm_f()函数的时候,要先对赋给zm_f()的实际参数即表达式求值,而求值的时候变量a的值刷新了,其值增加了,然后将求得到值再赋给形式参数。注意,求值过程中a的值刷新了。

你可能感兴趣的:(c语言函数定义内容)