Getchar函数从标准输入读取读取一个字符并返回它的值。如果输入中不再存在任何字符,函数就会返回常量EOF(在stdio.h中定义),用于提示文件的结尾。
例:int num = 0;
Int ch;
While(num < max && scanf(“%d”,&columns[num]) == 1&& columns[num] >= 0)
while((ch = getchar()) != EOF && ch != ‘\n’)
问:为什么ch被声明为整形,而我们事实上需要他来读取字符?
答:EOF是一个整形值,他的位数比字符类型要多,把ch声明为整形可以防止从输入读取的字符意外地被解释为EOF。但同时,这也意味着接收字符1的ch必须足够大,足以容纳EOF,这就是ch使用整型值的原因。(字符只是小整数而已,所以用一个整型变量容纳字符值并不会引起任何问题)。