#include <stdio.h> char *cat(char *str1,char *str2) { char *pt; for(pt=str1;*pt!='\0';pt++) while(*str2!='\0') *pt++=*str2++; *pt='\0'; return(pt); } main() { char *p; char s1[30]="210",s2[30]="45"; p=cat(s1,s2); printf("%d\n",p-s1); }
答案为3,说是两个字符串的连接。
在cat函数中,我觉得好像是先把str1的首地址给pt,再把str2的字符组逐个赋给pt,等于把str1的覆盖掉了,pt就是str2
大家能不能帮我解释下,谢谢了!