我将编写一个程序,该程序读取一行并获取最多 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/