| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:两个字符串连接
只看楼主 加入收藏
蓝天c语言
Rank: 2
等 级:论坛游民
帖 子:52
专家分:45
注 册:2010-8-27
结帖率:82.61%
收藏
已结贴  问题点数:10 回复次数:6 
两个字符串连接
为什么这样实现不了两个字符串的连接?
#include<stdio.h>

main()
{   
    int i,j;
    char str1[300],str2[150];
    gets(str1);
    gets(str2);
    for(i=0;str1[i]!='\0';i++);
    for(j=0;str2[j]!='\0';j++)
        str1[i]=str2[j];
        str1[i]='\0';
    printf("%s\n",str1);


}  
请各位解释一下
搜索更多相关主题的帖子: 字符 
2010-09-20 20:36
zhangdi
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-9-20
收藏
得分:3 
for(i=0;str1[i]!='\0';i++);
    for(j=0;str2[j]!='\0';j++)
        str1[i]=str2[j]; 这里的i 没有实现i++ 改为str1[i++]=str2[j]; 你试试
        str1[i]='\0';
2010-09-20 20:39
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:1 
不能用strcpy函数吗?

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-20 20:44
zhangdi
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-9-20
收藏
得分:3 
回复 楼主 蓝天c语言
解释如下   for(i=0;str1[i]!='\0';i++);第一个for循环结束后str1[i]=='\0'
进行第二个for循环时 for(j=0;str2[j]!='\0';j++)
        str1[i]=str2[j]; i的值始终没变,所以这个for循环的作用只是将str2[]数组中的最后一个字符赋值给了str1[i]
2010-09-20 20:47
zhangdi
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-9-20
收藏
得分:0 
回复 2楼 zhangdi
字符串的连接函数应该是 strcat()吧!
2010-09-20 20:51
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:3 
两个字符串的连接该用strcat函数,我没看明白你要怎样的连接,你这明显的有把str2中的字符串赋值到str1中的意思,但也是错的。
#include<stdio.h>
#include<string.h>
main()
{   
    int i,j;
    char str1[300],str2[150];
    gets(str1);
    gets(str2);
    strcat(str1,str2);
   // for(i=0;str1[i]!='\0';i++);
   // for(j=0;str2[j]!='\0';j++)
     //   str1[i]=str2[j];
      //  str1[i]='\0';
    printf("%s\n",str1);
} //把str2中的字符串连接到str1后


下面是把str2中的字符串赋值到str1中
#include<stdio.h>

main()
{   
    int i=0,j;
    char str1[300],str2[150];
    gets(str1);
    gets(str2);

   //for(i=0;str1[i]!='\0';i++);
   for(j=0;str2[j]!='\0';j++)
       str1[i++]=str2[j];
        str1[i]='\0';
    printf("%s\n",str1);


}  

2010-09-20 20:57
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
我可看不出他是想连接,想复制的意愿倒是挺大的

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-20 21:14
快速回复:两个字符串连接
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038753 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved