运行程序时出现乱码??

wang20726 2007-03-21 08:04:57
大家好!我有一个程序,本来是想让它实现两个字符串首尾连接,最后程序运行时出现了乱码?请大家我看看呀??
运行程序时出现乱码??

#include<iostream.h>
void strcat(char *s1,char *s2)
{
while(*s1!='\0')
{
*s1++;
}
*s1=NULL;
while(*s2!='\0')
{
cout<<*s2<<endl;
*s1=*s2;
*s1++;
*s2++;

}
}
void main()
{
char str1[4],str2[2];
cin>>str1>>str2;
strcat(str1,str2);
cout<<str1<<endl;
}

...全文
271 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang20726 2007-03-22
  • 打赏
  • 举报
回复
谢谢,问题已经解决了,原来是最后指针没有加上一个 '\0' 出现的问题呀
但也可以用我原来的程序,最的一加上一句*str1='\0'这样也行
cunsh 2007-03-22
  • 打赏
  • 举报
回复
void main() // 要用 int main()
{
char str1[4],str2[2]; // str1[] 大小要能装下两个串. 你怎么都弄这么小啊>
cunsh 2007-03-22
  • 打赏
  • 举报
回复
void strcat(char *s1,const char *s2)
{
while(*s1!='\0')
{
s1++;
}

while((*s1++ = *s2++) != '\0' )
;

}
zlcolin 2007-03-22
  • 打赏
  • 举报
回复
你的void strcat(char *s1,char *s2)函数里还有给s1重新分配空间,才能把s1s2连起来
zlcolin 2007-03-22
  • 打赏
  • 举报
回复
你的程序有问题!

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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