c语言eof用法范例循环while
while:实现循环表达的一种,循环的内容只能是一个语句,可以是一个简单的语句,还可以是复合语句。
1. EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。遇到getcahr函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar(),去执行程序的其他部分;在前面输入的字符为换行符时,接着输入Ctrl+D;在前面有字符输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能。
2. EOF作为行结束符时的情况,这时候输入Ctrl+D并不能结束getchar0,而只能引发getchar0提示下一轮的输入。这种情况主要是在进行getchar)新的一行输入时,当输入了若干字符(不能包含换行符)之后,直接输入Ctrl+D,此时的Ctrl+D并不是文件结束符,而只是相当于换行符的功能,即结束当前的输入。以上面的代码段为例,如果执行时输入abc,然后Ctrl+D,程序输出结果为:abcabc。
3. 因为C只有一个返回值,而这个返回值既要表示char的真实值;又要在某种情况下表示错误结果是什么,因此需要一个集合size大于char集的类型,来描述返回结果究竟是正确的还是错误的,因此选了int,因为int表示的范围大于char;int在C DataModel 中最小为16位(LP32),char 是8位,因此可以用负数表示额外的情况,比如EOF和错误。