求教各位达人,这奇怪的结果怎么来的,如何改正得到正确的字符串连接?

huangxw000 2007-10-08 01:49:51
我自己写的一字符串连接函数LJ,
#include<stdio.h>
#include<iostream.h>
#include<string.h>
void LJ(char str1[],char str2[])
{static char str3[1]="";
int i;
for(i=0;i<int(strlen(str1));i++)
str3[i]=str1[i];
for(i=int(strlen(str1));i<int(strlen(str1))+int(strlen(str2));i++)
str3[i]=str2[i];
cout<<str3<<endl;
}
void main()
{
char str1[34],str2[43],str4[100];
cin>>str1>>str2;
LJ(str1,str2);
}
在运行时输入made in china后按回车,输出如下奇怪结果:
made in china enter
made烫
press any key to continue

...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangxw000 2007-10-09
  • 打赏
  • 举报
回复
谢谢啊,原来错在str2[i - int(strlen(str1))]在这了啊。
星羽 2007-10-08
  • 打赏
  • 举报
回复



void LJ(char str1[], char str2[])
{
static char str3[128] = "";
int i;

for (i = 0; i < int(strlen(str1)); i++)
str3[i] = str1[i];

for (i = int(strlen(str1)); i < int(strlen(str1)) + int(strlen(str2)); i++)
str3[i] = str2[i - int(strlen(str1))];

cout<<str3<<endl;
}

void main()
{
char str1[34],str2[43],str4[100];
cin>>str1>>str2;
LJ(str1,str2);
}

69,382

社区成员

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

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