程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言編程-這段C程序設計語言書上的代碼,運行後按回車只換行並沒有輸出最長的行,為什麼

c語言編程-這段C程序設計語言書上的代碼,運行後按回車只換行並沒有輸出最長的行,為什麼

編輯:編程解疑
這段C程序設計語言書上的代碼,運行後按回車只換行並沒有輸出最長的行,為什麼

#include
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max = 0;
while ((len = getline(line,MAXLINE))>0)
if(len >max){
max = len;
copy(longest,line);
}
if(max >0)
printf("%s",longest);
return 0;
}
int getline(char s[],int lim){
int c,i;
for(i = 0;i<lim-1&&(c = getchar())!=EOF&&c!='\n';++i)
s[i] = c;
if(c == '\n'){
s[i] = c;
i++;
}
s[i] = '\0';
return i;
}
void copy (char to[],char from[])
{
int i;
i = 0;
while((to[i] = from[i]) !='\0')
i++;
}

最佳回答:


 #include<stdio.h>
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
int main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max = 0;
while ((len = getline(line,MAXLINE))>0)
if(len >max){
max = len;
copy(longest,line);
}
if(max >0)
printf("%s",longest);
return 0;
}
int getline(char s[],int lim){
int c,i;
for(i = 0;i<lim-1&&(c = getchar())!=EOF&&c!='\n';++i)
s[i] = c;
if(c == '\n'){
s[i] = c;
i++;
}
s[i] = '\0';
return i;
}
void copy (char to[],char from[])
{
int i=0;
while((to[i] = from[i]) !='\0')
i++;
}

不知道你為什麼沒運行出來,你的代碼寫的有些問題,少了些東西,比如 int main ,#include 我試了一下,沒問題,圖片說明
就這樣

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved