问题描述
我写了一个代码,从我的输入中打印出最长的行的长度,并尽可能多地打印出最长的行(我可以输出最长的行的最大长度)。但是我得到了这个错误。我尝试了一切,但仍然没有头绪。有谁可以帮忙吗?
#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 (将#修改为@)