这里书上对于参数的讲解比较少,大家可以仔细阅读,注意其中的一些概念,也可以看上一章对于例子中参数的讲解,本章不再讲述。
我们直接看字符数组:
要求编写一个程序将文本中最长的行打印出来,给了以下框架:
while(还有未处理的行)
if(该行比已处理的行还要长)保存该行保存该行的长度
打印最长的行
分析一下就是,将一个文本的每一行都进行判断,找出其中最长的行,保存起来,最后打印出来。
直接看程序:
#include<stdio.h>
#define MAXLINE 1000//定义宏int getline(char line[], int maxline);//函数声明
void copy(char to[], char from[]);//函数声明
int main(void) {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;}
//该函数将文本的一行读入s数组中并返回其长度
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] = '