运行时检查失败#2-变量'maxlong'周围的堆栈已损坏

问题描述

我写了一个代码,从我的输入中打印出最长的行的长度,并尽可能多地打印出最长的行(我可以输出最长的行的最大长度)。但是我得到了这个错误。我尝试了一切,但仍然没有头绪。有谁可以帮忙吗?

#include<stdio.h>
#define MAXLINE 10
int getline(char line[],int len) {
    int i,c,max;
    i = 0;
    max = 0;
    while ((c = getchar()) != EOF&&c!='\n') {
        if (i < len) {
            line[i] = c;
        }
        i += 1;
    }
    if (i < len) {
        if (c == '\n') {
            line[i] = c;
            i += 1;
        }
        line[i] = '\0';
    }
    else if (i >= len) {
        line[len] = '\0';
    }
    return i;
}
void copy(char from[],char to[]) {
    int i = 0;
    while (from[i] != '\0') {
        to[i] = from[i];
        i += 1;
    }
    to[i] = '\0';
}

main() {
    char longline[MAXLINE];
    char longestline[MAXLINE];
    char maxlong[MAXLINE];
    int length;
    int max = 0;
    int maxline = 0;
    while ((length = getline(longline,MAXLINE)) > 0) {
        if (length > max && length < MAXLINE) {
            copy(longline,longestline);
            max = length;
        }
        else if (length > MAXLINE) {
            if (length > maxline) {
                maxline = length;
                copy(longline,maxlong);
            }
        }
    }
    if (maxline == 0) {
        printf("%s",longestline);
    }
    else {
        printf("%s\n%d\n",maxlong,maxline);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...