C作业,暂时忽略(我想我稍后会用一些代码重新发布)

标签 c error-handling

我将编写一个程序,该程序读取一行并获取最多 6 个数字。该程序最终将求解 2x2 到 6x6 之间的方阵。我的问题是我需要在 get_numb() 函数上查找哪些错误?

我认为该函数必须逐字符检查,以确保各个字符是实际数字,而不是 EOF 或\n。我还必须检查一行中的数字是否不超过 6 个。我已经开始编程大约一周了,所以我需要知道什么来解决这个问题吗?

最佳答案

我绝对建议您首先使用一个好的单元测试框架,然后编写单元测试。这样您就可以涵盖上面提到的所有情况,并确保您的程序确实按照您认为应该的方式工作。

有大量questions on SO about C unit testing frameworks ;选择你最喜欢的。

除了你提到的情况外,我还能想到以下几种:

  • 一行中的数字少于 6
  • 空行
  • (如果数字是 float ,则有各种数字格式)

如果您的老师给了您示例输入/输出,您当然也可以将其合并到您的单元测试中。

关于C作业,暂时忽略(我想我稍后会用一些代码重新发布),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780099/

相关文章:

使用非阻塞键盘输入退出创建无限循环

我们可以使用 GCC 来处理 C 项目的翻译阶段 1..5

python - 使用django上传图片

c++ - C++错误链接器命令失败,退出代码为1(使用-v查看调用)

java - 错误未报告异常 ClassNotFoundException;必须被捕获或宣布被扔出

error-handling - GsonResponseBodyConverter的EOFException带有errorBody()

c - 我没有得到预期的输出

c - 我怎么用错了getchar()?

c - 分组中的单独字节

error-handling - 使用批处理模式处理OData异常