找出文件中,最长的那行并且把他打印出来。
需要使用到的知识,因为最后打印的是字符串,字符串是以 ‘\0’结尾的。
#include
#define MAXLEN 1000
int mygetline(char line[],int maxlen);
void copy(char from[],char to[]);
int main(void)
{
int c,len,max;
char line[MAXLEN];
char longest[MAXLEN];
max = 0;
while((len = mygetline(line,MAXLEN)) > 0){
if(len > max){
max = len;
copy(line,longest);
}
}
printf("the longest line is : \n %s \n",longest);
return 0;
}
int mygetline(char line[],int maxlen)
{
int i,c;
for(i = 0; i < maxlen -2 && (c = getchar()) != EOF && c != '\n';i ++){
line[i] = c;
}
if(c == '\n'){
line[i] = '\n';
i ++;
}
line[i] = '\0';
return i;
}
void copy(char from[],char to[])
{
int i = 0;
while((to[i] = from[i]) != '\0'){
i ++;
}
}
注意函数传参和防止字符串越界~~
阅读(705) | 评论(0) | 转发(0) |