有以下程序: #include typedef struct stu{ char name[10]; char gender; int score; }STU; void f(STU a,ST

admin2017-07-05  16

问题 有以下程序:
    #include
    typedef struct stu{
    char name[10];
    char gender;  
    int score;  
    }STU;
    void f(STU a,STU *b)
    {a=*b;
    printf("%s,%c,%d,",a.name,a.gender,a.score);
    }
    main()
    {STU a={"Zhao",’m’,290},b={"Qian",’f’,350};
    f(a,&b);
    printf("%s,%c,%d\n",a.name,a.gender,a.score);
    }   
    程序运行后的输出结果是(    )。

选项 A、Qian,f,350,Qian,f,350
B、Zhao,m,290,Qian,f,350
C、Qian,f,350,Zhao,m,290
D、Zhao,m,290,Zhao,m,290

答案C

解析 main函数中,首先定义两个结构体STU类型的变量a,b,并对a,b初始化,f函数的功能是:用形参结构体指针b指向的结构体对形参a赋值,此时形参结构体a的值为指针b指向的值,输出a即输出指针b指向的结构体,返回到main函数后,在输出实参a的值,答案为C选项,注:形参a,b不要和实参a,b混淆。
转载请注明原文地址:https://kaotiyun.com/show/4pDp777K
0

最新回复(0)