gxpyzg 2018-11-06 10:57 采纳率: 71.4%
浏览 401

为什么这个程序过不了内存检查??求助。。。

就是一个字符串反向输出的问题。

图片说明

            这是我的程序:

            #include<stdio.h>
            #include<string.h>

void printInverse(char*str1,const char*str2);

int main() {
int number=0;
char str1[80]={},str2[40]={};
int i=0;

scanf("%d",&number);

while(i<number) {
    scanf("%s%s",str1,str2);

    printInverse(str1,str2);

    memset(str1,0,sizeof(str1));
    memset(str2,0,sizeof(str2));
    i++;
}

return 0;

}

void printInverse(char*str1,const char*str2) {
char inverse[80]={};
int length=0;
int i=0;

strcat(str1,str2);
length=strlen(str1);

for(i=0;i<length;i++) {
    inverse[i]=str1[length-i-1];
}

printf("%s\n",inverse);

memset(inverse,0,sizeof(inverse));

}

之前几次内存错误把变量初始化就好了,为什么这次还是一直过不了呢??

谢谢!!

  • 写回答

2条回答 默认 最新

  • Italink 2018-11-06 11:14
    关注

    不懂怎么进行内存检查,如果是用的str空间太小,导致字符串越界,可以把字符串空间再给大一点,如果是空间用多了,倒叙无非就是将字符倒着输出,只需要打印的话就可以不用inberse[i],要么你直接在str1中交换首尾字符,要么倒着输出ch

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作