应该选B啊。代码测试一下就知道了。s1中间有字符串结束符啊,s2会连接到这个换行符前面的
strcat接也是接到s1的后面,而s1[3]是第4个元素,还没到拼接的位置,因此还是l这个字符。
选择B,上机验证如下:
#include <stdio.h>
#include <string.h>
int main()
{
char s1[20]="he\0llo", s2[20]="abcdef";strcat(s1,s2+3);
printf("%c\n",s1[3]);
return 0;
}
strcat后,def从\0那里覆盖过去,l早没了