作业帮 > 综合 > 作业

#include main() { char *t1,*t2,a[20]="abcdefgh"; t1="MNWE" t

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 01:01:15
#include main() { char *t1,*t2,a[20]="abcdefgh"; t1="MNWE" t2="KLSI"; strcpy(a+3,t2+2)
#include
main()
{ char *t1,*t2,a[20]="abcdefgh";
t1="MNWE";
t2="KLSI";
strcpy(a+3,t2+2);
strcat(a,t1+1);
printf("%d",strlen(a));}
那位大师能告诉我输出结果啊?
t2="KLSI"; strcpy(a+3,t2+2); st
8
再问: 能告诉为什么吗? 谢谢!
再答: #include main() { char *t1,*t2,a[20]="abcdefgh"; a=“abcdefg" t1="MNWE"; t2="KLSI"; strcpy(a+3,t2+2); 把t2+2开始的字符串,也就是"SI",复制到从a+3开始地方,这时a=“abcSI" strcat(a,t1+1); 把t1+1开始的字符串,也就是"NWE"附加在a的后面,这时a="abcSINEW" printf("%d",strlen(a)); 显示a的长度,就是8 } 另外,指针不申请内存直接赋值的习惯非常不好,最好改正。