第1个回答 2019-03-17
#include <stdio.h>
int f(int a)
{
// b无用,淆乱视线
int b = 0;
static int c = 3;
// 逗号优先级最低,这个式子等价于(a = c++), b++
// a于此处被赋值,可以无视从参数传入的a的初始值
// for第一次c=3, c->a, a=3, c=4, return 3
// for第二次c=4, c->a, a=4, c=5, return 4,此即答案
a = c++, b++; return (a);
}
main()
{
int a = 2, i, k;
for (i = 0; i < 2; i++) k = f(a++);
printf ("%d\n", k);
return 0;
}本回答被提问者采纳