有以下程序:include<strintg.h>main{ char p[20]={a,b,c,d),q[]="abc",r[]=&quo
有以下程序:
include<strintg.h>
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));
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.20 9
B.9 9
C.20 11
D.11 11
正確答案:C在主函數(shù)中,首先定義一個(gè)包含20個(gè)元素的字符數(shù)組P,執(zhí)行語(yǔ)句“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í)行語(yǔ)句“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)是計(jì)算以P所指起始地址的字符串的長(zhǎng)度,這一長(zhǎng)度不
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。