单选题
有以下程序:
#include
#include
struct A
{ int a;char b[10];double c;};
void f(struct A*t);
main()
{struct A a={1001,"ZhangDa" 1098.0};
f(&a);printf("%d,%s,%6.1 f\n",a.a,a.b,a.c);
}
void f(struct A *t)
{t->a=1002;strcpy(t一>b,"ChangRong");
t->c=1202.0;}
程序运行后的输出结果是( )。
【正确答案】
B
【答案解析】解析:本题主要考查是的函数调用时参数之间的传递问题。在C语言中参数之间的传递是传值,也就是把实参的值复制一份传递给形参,而实参的值不发生变化。但对于指针调用来说,函数直接对实参的地址操作,因此在这种情况下实参变化。