有以下程序: #include #include typedef struet{char name[9];char sex;float score[2];}STU; void f(STU a) { STU b

admin2021-07-09  19

问题 有以下程序:
    #include
    #include
    typedef struet{char name[9];char sex;float score[2];}STU;
    void f(STU a)
    {
    STU b={“Zhao”,‘m’,85.0,90.0};
    int i;
    strcpy(a.name,b.name);
    a.sex=b.sex:
    for(i=0;i<2;i++)
    a.score=b.score
    }
    main()
    {
    STU c={“Qian”,‘f’,95.0,92.0};
    f(e);
    printf(“%s,%c,%2.of,%2.of\n”,c.name,c.sex,c.score[0],c.scorP,[1]);
    }
程序运行后的输出结果是(    )。

选项 A、Zhao,m,85,90
B、Qian,m,85,90
C、Zhao,f,95,92
D、Qian,f,95,92

答案D

解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会生成参数c的一个副本,而不会改变c的值,所以c值维持原值,选项D正确。
转载请注明原文地址:https://kaotiyun.com/show/tltp777K
0

最新回复(0)