您的位置:首页 > 其它

将结构体作为参数时发生了什么?

2016-09-22 16:19 288 查看

有以下程序:

# include <stdio.h>

typedef struct { int b,p;} A;

void f(A c) /* 注意:c是结构变量名*/

{ int j;

 c.b +=1;c.p+=2;

}

main()

{ int i;

 A a={1,2};

 f(a);

 printf("%d,%d\n",a.b,a.p);

}

程序运行后的输出结果是(  )。

A) 2,4

B) 1,2

C) 1,4

D) 2,3

参考答案:B

【解析】结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: