当前位置 : 主页 > 编程语言 > c语言 >

C语言-第1章_导言-09

来源:互联网 收集:自由互联 发布时间:2023-09-06
第1章 导言-09 1.9 字符数组 // 字符数组是 C 语言中最常用的数组类型。// 下面我们通过编写一个程序来说明字符数组以及操作字符数组的函数的用法。// char_array.c#include stdio.h#define MAXL

第1章 导言 -09

1.9 字符数组

// 字符数组是 C 语言中最常用的数组类型。

// 下面我们通过编写一个程序来说明字符数组以及操作字符数组的函数的用法。

// char_array.c

#include <stdio.h>
#define MAXLINE 1000  /* 允许的输入行的最大长度 */

int getline1(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 = getline1(line, MAXLINE)) > 0)
		if (len > max) {
			max = len;
			copy(longest, line);
		}
	if (max > 0)		/* 存在这样的行 */
		printf("%s", longest);
	return 0;
}

/* getline1函数: 将一行读入 s 中并返回其长度 */
int getline1(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;
}

/* copy函数: 将 from 复制到 to ;这里假定 to 足够大 */
void copy(char to[], char from[])
{
	int i;

	i = 0;
	while ((to[i] = from[i]) != '\0')
	  ++i;
}

1.png

上一篇:原码 反码 补码
下一篇:没有了
网友评论