如何解决运行时检查失败#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 举报,一经查实,本站将立刻删除。