发布网友 发布时间:2023-08-17 14:51
共3个回答
热心网友 时间:2023-09-03 14:09
strcpy是统计你给的指针开始到字符串末尾的0为结束之间的字符数目,不包含0。热心网友 时间:2023-09-03 14:09
int strlen(const char *str)函数返回str中包含的字符个数,不包括'\0'。所以本题的答案是C) 19。追问0加上a【3】【20】不是有20个吗?还是说“!”不算,strlen不会加上!。追答
将a的三个串顺序连载一起是:"chinaisabigcountry!",就是19个字符。
在语句char k[100] = {0};中,使用0初始化这个数组。
char *p = k;表明,p指向k[0]单元,k[0]的内容是0,等同于'\0',不是'0'。
第一次执行p = strcat(p,a[i]);时,即p = strcat(p,a[0]);时,函数strcat()首先找到p的串结束符'\0'(p[0]就是'\0'),然后用a[0]中的字符从该字符开始覆盖填写,直到填写完a[0]中的'\0',接下来以同样的方法执行strcat(p,a[1])和strcat(p,a[2])。
再重申一遍,p[0]中的内容是0,不是'0'。
热心网友 时间:2023-09-03 14:10
19 strcat 是连接 *p 和数组a[3][20] 你可以看成是一个新的一个数组 只是首地址的值为 0