练习111 你准备如何测试单词计数程序? 如果程序中存在某种错误,那么什么样的输入最可能发现这类错误?

我的答案:

照抄此程序 ,观察运行结果,来测试!

初步的测试,nl 即 行数的统计会出现错误,按照\n来计算行数 出容易算少一行,,当我在最后一行的时候 以EOF结束的话,此行将没有计算在内。

没有理解好题目,程序并没有错,题目的意思是想让我知道如何的去测试一个程序可能出现的错误!

答案:满足边界条件的输入情况, 最有助于发现单词计数程序中的错误......省略

 顺便把此程序贴上

#include <stdio.h>
#define IN 1
#define OUT 0

int main()
{
int c, nl, nw, nc, state;

state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF)
{
++nc;
if(c == '\n')
++nl;
if(c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT){
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
}

原文地址:https://www.cnblogs.com/jango/p/3376656.html