我写的一个小函数大家看下.

norrin159 2009-09-06 08:58:50
void str(char *str1,char *str2){
int i,j;
for(i=0;*(str2+i)!='\0';i++){
for(j=0;*(str1+j)!='\0';j++);
*(str1+j)=*(str2+i);
*(str1+j+1)='\0';
}
}
不怎么完整...但是对于我这个初学者来学还算不错了..
我是自学的哦......
...全文
141 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
t1397018 2009-09-07
  • 打赏
  • 举报
回复

void str(char *str1,char *str2)
{
while(str1!='\0') str1++;
while(str2!='\0') (*str1++) = (*str2++);
(*str1) = '\0';
}

楼主试试这样
ERICAMBER 2009-09-07
  • 打赏
  • 举报
回复
嗯,可以。继续加油把
norrin159 2009-09-07
  • 打赏
  • 举报
回复
目标是把str2的字符串,接到str1里面里去...
norrin159 2009-09-07
  • 打赏
  • 举报
回复
void str(char *str1,char *str2){
int i,j;
for(j=0;*(str1+j)!='\0';j++);
for(i=0;*(str2+i)!='\0';i++){
*(str1+j)=*(str2+i);
j++;
}
*(str1+j)='\0';
}
acrobatyuer 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 mstlq 的回复:]
楼上的有小小问题,下面的才是……
C/C++ codevoid str(char*str1,char*str2)
{while(*str1) str1++;while((*str1++)= (*str2++));
}
[/Quote]


LZ应该看看如何简化自己的代码吧!
sdhhqb 2009-09-07
  • 打赏
  • 举报
回复
不错,加油。。。
norrin159 2009-09-07
  • 打赏
  • 举报
回复
for(j=0;*(str1+j)!='\0';j++);
是我的意图我想把位置定位在最后的那个字符那里...
norrin159 2009-09-07
  • 打赏
  • 举报
回复
程序的作用是 链接两个字符串....
把第二个字符串放在第第一个字符串里面....
norrin159 2009-09-07
  • 打赏
  • 举报
回复
天啊~~~~~~
遇到高手了.....
这都能想到,看来我真的应该好好学习了....这些都是很基础的东西啊....
学习了...收藏了....

我真的应该多看看代码了....
mstlq 2009-09-07
  • 打赏
  • 举报
回复
楼上的有小小问题,下面的才是……
void str(char *str1,char *str2)
{
while(*str1) str1++;
while((*str1++) = (*str2++));
}
mstlq 2009-09-07
  • 打赏
  • 举报
回复
如果我是楼主,我会这样写……
void str(char *str1,char *str2)
{
while(str1!='\0') str1++;
while((*str1++) = (*str2++));
}
gelu1040 2009-09-07
  • 打赏
  • 举报
回复
延迟专用
gelu1040 2009-09-07
  • 打赏
  • 举报
回复
函数做无用功
atom_09 2009-09-07
  • 打赏
  • 举报
回复
复制字符串没必要写的这么繁琐吧。
void string(char *str1,char *str2)
{
while(str1!='\0') str1++;
while(str2!='\0') (*str1++) = (*str2++);
(*str1)='\0';
}
mstlq 2009-09-06
  • 打赏
  • 举报
回复
请楼主先说明,您想用此程序做什么呢?
  • 打赏
  • 举报
回复

把 for(j=0;*(str1+j)!='\0';j++); 这句放第一个for循环外面更好,里面用一个变量递增
starcat 2009-09-06
  • 打赏
  • 举报
回复
呵呵,刚才我没发现
新人鼓励一下嘛

LZ把main()函数补全了,上机好好调试通过
vistach 2009-09-06
  • 打赏
  • 举报
回复
for(j=0;*(str1+j)!='\0';j++);
最后的分号是楼主的意图吗?
lovemychobits 2009-09-06
  • 打赏
  • 举报
回复
对初学者来说算是挺好的了!呵呵~~
starcat 2009-09-06
  • 打赏
  • 举报
回复
*(str1+j+1)='\0';
这里可能+1没必要了,前面最后一次循环时j已经增了
加载更多回复(1)

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧