有以下程序 #include #include typedef struct { cha
有以下程序 #include <stdio.h> #include <string.h> typedef struct { char name[9]; char sex; float score[2]; } STU; STU 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[i] = b.score[i]; return a; } main() { STU c={"Qian", T, 95.0, 92.0}, d; d=f(c); printf("%s,%c,%2.0f,%2.0f\n", d.name, &sex, &score[O], d.score[1]); } 程序的運行結(jié)果是
A.Qian, f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
正確答案:C解析:本題的f()函數(shù)中,首先定義了一個STU結(jié)構(gòu)體變量b并初始化為{"Zhao",'m',85.0,90.0},然后分別通過strcpy()庫函數(shù)、賦值語句和for循環(huán),將b中所有成員分別賦給形參a的相應(yīng)成員,最后返回a。所以,無論傳遞給函數(shù)fun()的參數(shù)是什么,結(jié)果返回的都會是函數(shù)中定義的STU結(jié)構(gòu)體b的內(nèi)容{"Zhao",'m',85.0,90.0}。故最終輸出結(jié)果為:Zhao,m,85,90,應(yīng)該選擇C。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。