ABCD19950415 2015-12-13 15:08 采纳率: 100%
浏览 1500
已采纳

最后一句语句没有为什么会有乱码产生

第一种
#include
#include
void mcopy(char *s,char*t,int m);
int main(void)
{
char a[100],b[100];
int m;

gets(a);
scanf("%d",&m);
mcopy(a,b,m);
puts(b);

}
void mcopy(char *s,char*t,int m)
{
int len,i,d=0;
len = strlen(s);
for(i=m-1;i<len;i++)
{
t[d]=s[i];
d++;
}

} 第二种
#include
#include
void mcopy(char *s,char*t,int m);
int main(void)
{
char a[100],b[100];
int m;

gets(a);
scanf("%d",&m);
mcopy(a,b,m);
puts(b);

}
void mcopy(char *s,char*t,int m)
{
int len,i,d=0;
len = strlen(s);
for(i=m-1;i<len;i++)
{
t[d]=s[i];
d++;
}
t[d]='\0';
}

  • 写回答

1条回答 默认 最新

  • ysuwood 2015-12-13 15:12
    关注

    strlen(s)返回字符串中字符长度,不包含结束标志。所以最后要补一个。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗