有以下程序: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));
}
程序運行后的輸出結果是( )。
A.20 9
B.9 9
C.20 11
D.11 11
正確答案:C在主函數中,首先定義一個包含20個元素的字符數組P,執行語句“strcpy(P+strlen(q),r);”,數組P的內容變為{a,b,C,a,b,c,d,e,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0),執行語句“strcat(P,q);”,數組P的內容變為,a,b,c,a,b,C,d,P,a,b,c,\0,\0,\0,\0,\0,\0,\0,\0),函數sizeof(P)是求數組P的大小,返回20,而函數strlen (p)是計算以P所指起始地址的字符串的長度,這一長度不
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。