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

admin2015-08-09  27

问题 有以下程序:
    #include
    #include
    typedef struet{char name[9];char sex;float score[2];}STU;
    void f(STUa)
    {
    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©;
    printf("%s,%c,%2.of,%2.of\n",c.name,c.sex,c.score[0],c.score[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/XQDp777K
0

最新回复(0)