C语言中EOF的含义是end of file,即文件结束符,但是不仅仅是在文件中使用,在输入的时候也可以使用。EOF的值是-1。在文本文件中才能使用EOF作为结束符。在使用scanf输入的时候,如果输入的数据正确,则scanf返回一个正整数,如果输入的是<ctrl+Z>组合键,则表示返回EOF,即-1。但是在devc++中只要输入一个<ctrl+z>组合键加回车,而在visual studio的开发环境中,则要输入三个<ctrl+z>组合键加回车才能生效。
如下代码:

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[]) {
	int a;
	while(scanf("%d",&a)!=EOF){
		printf("%d\n",a);
	} 
	return 0;
}

在devC++中的运行结果如下:

在visual studio 2022中的运行结果如下:


读取文件的内容代码如下:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
	FILE* fp;
	fp = fopen("e:\\bjpowernode.sql", "r");
	if (fp == NULL) {
		printf("error!\n");
		return 1;
	}
	char ch=fgetc(fp);
	
	while (ch!=EOF) { //文本文件中,EOF作为文件结束符,碰到文件结束符,ch的值为EOF,即-1.
		putchar(ch);
		ch = fgetc(fp);
		
	}
	fclose(fp);
	return 0;
}

更多推荐

C语言中EOF的用法及不同环境下的使用