有以下程序 structA{ int a ; char b[10]; double c ;}; void f(struct A t); main() { struct A a={1001,"ZhangD

admin2016-12-28  19

问题 有以下程序
    structA{
    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.1f\n.",a.a,a.b,
    a.c);  }
    void f(StELlct A t)  {
    t.a=1002;
    strcpy(t.b,"ChangRong");
    t.c=1202.0;}
    程序运行后的输出结果是

选项 A、1002,ChangRong,1202.0
B、1001,ZhangDa,1098.0
C、1001,ChangRong,1098.0
D、1002,ZhangDa,1202.0

答案B

解析 在主函数中定义结构体A的变量a,并对其赋初值,再调用函数f(a),形参t接收实参的数据,在函数f(t)中对结构体变量t的各个成员进行了赋值操作,需要注意的,形参和实参之间是数据传递,因此对形参的操作对实参不产生影响,因此在主函数输出仍然输出变量a的数据
转载请注明原文地址:https://kaotiyun.com/show/DuDp777K
0

最新回复(0)