You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为K&R2练习1-8的C语言字符统计程序提供测试输入?

如何测试统计空格、制表符和换行符的C程序?

你写的这段是《K&R2》练习1-8的代码,用来统计输入中的空格、制表符和换行符数量,测试时可以通过以下几种方式提供输入:

1. 控制台手动输入

运行编译后的程序后,直接在控制台输入内容:

  • 按空格键输入空格,按Tab键输入制表符,按Enter键输入换行符
  • 输入完成后,按 Ctrl+D(Linux/macOS)或 Ctrl+Z(Windows)发送EOF信号,程序就会结束输入并输出统计结果。

比如你可以输入:foo bar baz(两个空格、一个制表符),按Enter,再输入qux,然后触发EOF,就能看到对应的计数。

2. 用文件作为输入源

  • 先创建一个测试文本文件(比如test.txt),在里面写入包含目标字符的内容,例如:
    第一行 有两个空格
    第二行	有一个制表符
    第三行(单独换行)
    
    第四行开头有空格和制表符 	测试
    
  • 编译程序(比如gcc count_chars.c -o count_chars),然后通过输入重定向运行:
    ./count_chars < test.txt
    

程序会自动读取文件所有内容,读完后直接输出统计结果,适合批量测试复杂输入。

3. 用管道传递构造好的输入

可以用echo命令结合转义字符快速生成测试输入,通过管道传给程序:

# 示例:生成包含1个空格、1个制表符、2个换行符的输入
echo -e "a b\tc\n\n" | ./count_chars

这里-e参数让echo解析转义字符:\t代表制表符,\n代表换行符,空格直接写入即可。

测试建议

可以设计几个明确的测试用例验证正确性:

  • 仅输入3个空格后触发EOF,确认空格计数为3
  • 仅按2次Tab+1次Enter后触发EOF,确认制表符计数2、换行符计数1
  • 混合输入多种字符,手动数清楚数量后对比程序输出

内容的提问来源于stack exchange,提问作者gambrelle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:10:59