c语言代码:每行输入一行英文字符,第一个非空白字符前面可能会有空白字符,要求每行输出第一个非空白字符,用get_first和getchar函数写
时间: 2024-11-30 21:19:43 浏览: 17
在 C 语言中,你可以通过以下方式编写一个简单的程序来实现这个功能。这个程序会使用 `getchar` 函数逐个读取字符,并用 `get_first` 函数(这里假设 `get_first` 是自定义的一个辅助函数,用于查找第一个非空白字符)获取并打印出每个输入行的第一个非空白字符。由于 `getchar` 和 `get_first` 在标准库中不存在,我们需要自行实现 `get_first`。这里是一个示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含 isblank 函数
// 自定义函数,查找并返回第一个非空白字符
int get_first(char *str) {
while (*str && isspace(*str)) { // 只要当前字符是空白字符,就移动指针
str++;
}
return *str; // 返回找到的第一个非空白字符
}
int main() {
char input[256]; // 输入缓冲区
int ch;
while ((ch = getchar()) != EOF) { // 循环直到遇到文件结束符(EOF)
if (ch == '\n') { // 如果是换行符,表示一行结束
printf("%c", get_first(input)); // 输出这一行的第一个非空白字符
input[0] = '\0'; // 清空缓冲区
} else {
input[0] = ch;
input[1] = '\0';
}
}
return 0;
}
阅读全文