main()
{ char *s,*s1="here is";
char *s2="key";
s=s1; //保存S1地址
while(*s1)s1++; //s1指向s的末尾'\0'
while(*s1++=*s2++); //把s2拷贝到s的末尾 此时s="here iskey"
s2=s; //把s2指向s
while(*s2)s2++; //s2指向s的末尾'\0'
printf("%d\n",s2-s); //输出s的长度
printf("s=%s\n",s); //输出s
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
......程序没错把,晕~~
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
{ char *s,*s1="here is";
char *s2="key";
s=s1; //保存S1地址
while(*s1)s1++; //s1指向s的末尾'\0'
while(*s1++=*s2++); //把s2拷贝到s的末尾 此时s="here iskey"
s2=s; //把s2指向s
while(*s2)s2++; //s2指向s的末尾'\0'
printf("%d\n",s2-s); //输出s的长度
printf("s=%s\n",s); //输出s
}
----------------解决方案--------------------------------------------------------
以下是引用anlogo在2007-7-27 12:22:19的发言:
main()
{ char *s,*s1="here is";
char *s2="key";
s=s1; //保存S1地址
while(*s1)s1++; //s1指向s的末尾'\0'
while(*s1++=*s2++); //把s2拷贝到s的末尾 此时s="here iskey"
s2=s; //把s2指向s
while(*s2)s2++; //s2指向s的末尾'\0'
printf("%d\n",s2-s); //输出s的长度
printf("s=%s\n",s); //输出s
}
main()
{ char *s,*s1="here is";
char *s2="key";
s=s1; //保存S1地址
while(*s1)s1++; //s1指向s的末尾'\0'
while(*s1++=*s2++); //把s2拷贝到s的末尾 此时s="here iskey"
s2=s; //把s2指向s
while(*s2)s2++; //s2指向s的末尾'\0'
printf("%d\n",s2-s); //输出s的长度
printf("s=%s\n",s); //输出s
}
while(*s1++=*s2++); //把s2拷贝到s的末尾 此时s="here iskey"
这一步就错了把
----------------解决方案--------------------------------------------------------
同意二楼的...s1是字符串的首地址,相当于一个指针常量...我用VC运行,编译没错,但运行出错
[此贴子已经被作者于2007-7-27 16:22:51编辑过]
----------------解决方案--------------------------------------------------------
......程序没错把,晕~~
----------------解决方案--------------------------------------------------------
运行通过,没有问题呀,环境是TC2
----------------解决方案--------------------------------------------------------
main()
{
char *s,*s1="here is";
char *s2="key";
s=s1;
while(*s1) s1++;
while(*s1++=*s2++);
s2=s;
while(*s2) s2++;
s1=s;你把S的首地址付S1就能打因出
printf("%s",s1);
}
----------------解决方案--------------------------------------------------------
以下是引用bluecomputer在2007-7-27 16:21:18的发言:
同意二楼的...s1是字符串的首地址,相当于一个指针常量...我用VC运行,编译没错,但运行出错
还不是很懂,S1是指针,指针地址为什么不可以自增呢?
----------------解决方案--------------------------------------------------------