标题:[求助]初学者一个简单的程序错了(是关于字符串处理的)
取消只看楼主
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
 问题点数:0 回复次数:1 
[求助]初学者一个简单的程序错了(是关于字符串处理的)

#include<iostream>
using namespace std;
void main()
{
char str1[10];
char str2[4];
int i,j=0;
cout<<"请输入两个字符串:"<<endl;
cin>>str1>>str2;
for(i=0;;i++)
if(str1[i]=='\0')
break;
while(str2[j])
str1[i++]=str2[j++];

cout<<"连接后的两个字符串是:"<<str1<<endl;
}
程序编译时没有错误,但运行时出现了错误。程序要实现的功能是实现两个字符串的连接。

运行的结果如下:

请输入两个字符串:

heewe dkw

连接后的两个字符串是:heewedkw烫烫?

反正后面出现了乱码。

麻烦大家看一下,不胜感激!!!!!

搜索更多相关主题的帖子: 字符 std 
2006-04-20 22:01
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 

这时字符数组容易产生越界的问题。当我输入的字符串长度超过了定义的字符串长度时,不能产生预想的结果,请问这应该如何控制?
使用字符数组来操作字符串时,给人明显的不便就是数组容易产生越界的危险,麻烦哪位大虾指点一下怎样能更好的使用字符数组来处理字符串,还有没有其他的方法来处理字符串???


英者自知,雄者自胜
2006-04-21 13:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-58927-1-1.html




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

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