下面函数的功能是( )。
sss(s,t)
char *s,*t;
{ while(*s);
while(*t)
*(s++)=*(t++);
return s;
你看的书是老掉牙的吧?这种函数格式早已被淘汰了。现在的写法是这样的:
char *sss(char *s,char *t) {
while(*s);
while(*t)
*(s++)=*(t++);
return s;
}
其功能是:如果s指向的字符串不为空,则由while(*s);构成一个死循环,永远跳不出;若s指向的字符串为空,则将t指向的字符串除结束'\0'外依次拷入s指向的空间;最后返回返回s。此函数有明显的错误:
有条件死循环,如前述;
没有将结束符'\0'拷入,使最后的s指向的字符串无法操作。
删除while(*s);,将
while(*t)
*(s++)=*(t++);
改为
while( *s++=*t++);
就可避免上述错误。这样改后就是将字符串t拷贝到字符串s。
直接连接呀,,,,,,
你能不能好好的把题目写一遍