持续更新中,最近更新:2021/1/23
1.9 字符数组
用例
#include <stdio.h>
#define MAXLINE 1000
int getmyline(char line[], int maxline);
void copy(char to[], char from[]);
//打印最长的输入行
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max = 0; //目前发现的最长的长度是0
while ((len = getmyline(line, MAXLINE)) > 0)
if (len > max){
max = len;
copy(longest, line);
}
if (max > 0)
printf("%s", longest); //printf函数的%s格式说明规定:所有的字符串都必须是以这种形式表示的字符串
return 0;
}
//getline函数:将一行读入s并返回它的字符串长度
int getmyline(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-16
待补充
练习 1-17
待补充
练习 1-18
待补充
练习 1-19
待补充
注
1. 运行 C 程序
- linux 下编译 C 程序:
gcc xxx.c
- 运行编译后的
a.out
文件:直接./a.out
2. 运行 C 程序后,结束输入状态
- linux 下结束输入:
Ctrl+D
- Windows 下结束输入:
Ctrl+Z