问题标题:
#includemain(){char*t1,*t2,a[20]="abcdefgh";t1="MNWE"t2="KLSI";strcpy(a+3,t2+2)#includemain(){char*t1,*t2,a[20]="abcdefgh";t1="MNWE";t2="KLSI";strcpy(a+3,t2+2);strcat(a,t1+1);printf("%d",strlen(a));}那位大师能告诉我输出结果啊?
问题描述:

#includemain(){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
容晓峰回答:
  能告诉为什么吗?谢谢!
万江文回答:
  #includemain(){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}另外,指针不申请内存直接赋值的习惯非常不好,最好改正。
查看更多
其它推荐
热门其它推荐