有以下程序:includemain{ char p[20]={a,b,c,d),q[]=abc,r[]=abcde;strcpy(p+strlen(q),r);
有以下程序:
include
main
{ char p[20]={a,b,c,d),q[]="abc",r[]="
abcde";
strcpy(p+strlen(q),r);strcat(p,q);
printf("%d%d\n",sizeof(p),strlen(p));
}
程序運行后的輸出結(jié)果是( )。
A.20 9
B.9 9
C.20 11
D.11 11
正確答案:C在主函數(shù)中,首先定義一個包含20個元素的字符數(shù)組P,執(zhí)行語句“strcpy(P+strlen(q),r);”,數(shù)組P的內(nèi)容變?yōu)閧a,b,C,a,b,c,d,e,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0),執(zhí)行語句“strcat(P,q);”,數(shù)組P的內(nèi)容變?yōu)椋琣,b,c,a,b,C,d,P,a,b,c,\0,\0,\0,\0,\0,\0,\0,\0),函數(shù)sizeof(P)是求數(shù)組P的大小,返回20,而函數(shù)strlen (p)是計算以P所指起始地址的字符串的長度,這一長度不
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。