C语言基础教程:使用标准输入计算字符数量

何川
何川
发布时间:2026-10-13 | 2人浏览过
原创

本文详细解析利用C语言标准库 getchar() 函数逐字符读取输入流并统计数量的经典写法。通过完整源码、GCC编译指令以及 Linux 管道操作的实战演示,帮助开发者快速理解字符计数逻辑及命令行数据处理方法。

C语言字符计数实现原理

在C语言中,最常用的方法是利用循环调用标准输入函数,直到遇到特定的结束标志(如文件结束符 EOF 或自定义终止符)。以下是一个基于 ASCII '0' (数值为 48) 作为终止条件的字符计数程序逻辑:

第1步:编写 C 源代码

目的:构建一个无限循环,每次从标准输入(stdin)获取一个字符,非终止符则计数器加一。

  • 入口/文件: char_counting.c
  • 关键参数: 终止条件设为 != '0'
#include <stdio.h>
int main()
{
  long nc;
  nc = 0;
  // 持续读取字符,直到读到 '0' 字符为止
  while(getchar() != '0')
    {
      ++nc;
    }
  // 输出累计的字符数
  printf("%ld\n", nc);
}

第2步:编译生成可执行文件

目的:将源代码转换为操作系统可执行的机器码。推荐使用 GCC 编译器。

  • 操作:** 打开终端,进入代码所在目录。
  • 命令:** gcc char_counting.c -o char_counting.o

注意:通常 .o 后缀用于目标文件,这里沿用原示例命名。实际部署建议改为无后缀或使用 .out 后缀以符合惯例。

第3步:本地交互测试

目的:验证程序能正确接收键盘输入的字符串并停止计数。

  • 操作:** 运行生成的程序,输入一串字符,最后输入 '0' 触发退出。
  • 预期结果:** 输入 123
    450
    (回车换行也算字符)时:
[root@server1 c]# ./char_counting.o
123
450[回车]
6

此处统计了前5个可见数字加上第6次回车键(Enter)产生的换行符,共计6个字符。

第4步:通过管道自动化处理

目的:利用 Linux 管道特性,将其他命令的输出直接作为本程序的输入源,无需手动键盘输入。

  • 操作:** 使用 echo 命令配合管道 |。
[root@server1 c]# echo helloworld0 | ./char_counting.o 
10

分析:helloworld 共10个字母,紧随其后的 0 被视为终止符号而不计入总数,故最终输出结果为 10。

总结

该示例直观展示了 C 语言在处理低层级输入流时的简洁性。对于需要精确控制数据截断点的场景非常有效。以上就是C语言简单实现计算字符个数的详细内容,更多关于C语言入门教程的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表