| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 886 人关注过本帖
标题:编写2个字符串连接时出现终止提示
只看楼主 加入收藏
alexkh
Rank: 2
等 级:论坛游民
帖 子:37
专家分:66
注 册:2011-12-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
编写2个字符串连接时出现终止提示
在编写2个字符串连接的函数时出现了程序终止的提示,第一次遇到,不知道是何原因,下面是程序。
【题目】写一程序,将2个字符串连接
程序代码:
char ronghe(char str1[],char str2[],char str[])
{
    int i,j;
    for(i=0;str1!='\0';i++)
        str[i]=str1[i];
    for(j=0;str2!='\0';j++)
        str[i+j]=str2[j];
    str[i+j]='\0';
}
main()
{
    char s1[100],s2[100],s[100];
    printf("shuru zifu1\n");
    scanf("%s",s1);
    printf("shuru zifus\n");
    scanf("%s",s);
    ronghe(s1,s2,s);
    printf("xinde zifu shi %s",s);
    getch();
}

【输出时提示】the NTVDM CPU has encountered an illegal instruction.
搜索更多相关主题的帖子: 函数 原因 字符串 color 
2012-01-30 22:24
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:15 
for(i=0;str1!='\0';i++)
要改成for(i=0;str1[i]!='\0';i++)

for(j=0;str2!='\0';j++)同理

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-30 22:27
alexkh
Rank: 2
等 级:论坛游民
帖 子:37
专家分:66
注 册:2011-12-8
收藏
得分:0 
以下是引用吴小君在2012-1-30 22:27:54的发言:

for(i=0;str1!='\0';i++)
要改成for(i=0;str1!='\0';i++)

for(j=0;str2!='\0';j++)同理

你好,刚才调试了一下,确实是这个错误,但后来输出时还是有问题,能不能帮忙看下啊?
输出时只能输出第一个字符串,第二个字符串没有融合在里面。
2012-01-30 22:35
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
该怎么说楼主呢?
    printf("shuru zifu1\n");
    scanf("%s",s1);
    printf("shuru zifus\n");
    scanf("%s",s);  //这应该是s2
    ronghe(s1,s2,s);

总有那身价贱的人给作业贴回复完整的代码
2012-01-30 22:56
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
你这你面还有一个问题
    for(i=0;str1!='\0';i++)
        str[i]=str1[i];
循环结束后,i被释放
在循环   for(j=0;str2!='\0';j++)
        str[i+j]=str2[j];
中i是个未知量,不能直接用
没有融合的原因可能是输出中遇到了'\0',你自己再检查一下数组

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-30 22:59
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 5楼 吴小君
i怎么被释放的?

总有那身价贱的人给作业贴回复完整的代码
2012-01-30 23:05
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
回复 6楼 embed_xuel
i不是自动变量吗?循环结束后会释放吧

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-30 23:55
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
以下是引用吴小君在2012-1-30 23:55:27的发言:

i不是自动变量吗?循环结束后会释放吧
哦,对的,是整个主函数、、、

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-30 23:57
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
头文件,返回值,为什么用getch();?

梅尚程荀
马谭杨奚







                                                       
2012-01-31 10:28
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
楼主要让程序等待的话用system("pause")好一点

酱油实习生
2012-01-31 11:27
快速回复:编写2个字符串连接时出现终止提示
数据加载中...
 
   



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

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