标签:17 练习 len char 80 程序设计 line MAXLINE getline
题目:
编写一个程序,打印长度大于80个字符的所有输入行
自我解答:
基于1-16中的代码,稍作修改,判断条件改为len > WANTLEN #define WANTLINE 80
由于输入中没有大于80的行,所以输出为空。打印输出大于30的行,输出如下:
while((c = getchar()) != EOF && len < MAXLINE && c != '\n')
void copy(char to[], char from[])
while((to[i] = from[i]) != '\0')
char line[MAXLINE] = {'\0'};
char longest[MAXLINE] = {'\0'};
while((len = getline(line)) > 0)
copy(longest, line);
printf("%s", longest);
参考答案:
#include <stdio.h>
#define MAXLINE 1000 /* maximum input line size */
#define LONGLINE 80
int getline(char line[], int maxline);
/* print lines longer than LONGLINE */
int main()
{
int len; /* current line length */
char line[MAXLINE]; /* current input line */
while((len = getline(line, MAXLINE)) > 0)
{
if(len > LONGLINE)
printf("%s", line);
}
return 0;
}
这个程序调用函数getline来读取输入行。函数getline将返回输入行的长度和尽可能多的内容。如果输入行的长度大于80个字符(LONGLINE),我们的程序就将把它打印出来;否则,不进行任何操作。这一过程将一直循环到函数getline返回一个等于零的输入行长度为止。
函数getline与练习1-16的同名函数相同。
标签:17,练习,len,char,80,程序设计,line,MAXLINE,getline 来源: https://blog.csdn.net/yangjingdong2008/article/details/120906610
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。