乐闻世界logo
搜索文章和话题

What is value of EOF and '\ 0 ' in C

5 个月前提问
4 个月前修改
浏览次数44

1个答案

1

在C语言中,EOF和\0是两个不同的概念,具体如下:

  1. EOF:EOF是一个在stdio.h中定义的宏,代表“文件结束(End of File)”,用于表示没有更多的数据可以从文件流中读取。在大多数系统中,EOF定义为-1。EOF常用于文件读取函数,如fgetc、fscanf等,这些函数在到达文件末尾或发生错误时返回EOF。

    例子

    c
    FILE *fp = fopen("example.txt", "r"); if (fp == NULL) { perror("文件打开失败"); return -1; } int ch; while ((ch = fgetc(fp)) != EOF) { putchar(ch); } fclose(fp);
  2. \0\0是一个空字符(null character),在C语言中用于标识字符串的结束。其ASCII值为0。在C中,字符串通常以字符数组的形式存储,字符串的结尾用\0来标示,这样程序就知道何时停止处理字符串。

    例子

    c
    char str[] = "Hello, World!"; printf("%s\n", str); // 正常打印字符串 // 修改字符串中的字符为 `\0` str[5] = '\0'; printf("%s\n", str); // 只会打印 "Hello"

这两个概念在C语言中非常重要,分别用于文件操作和字符串处理的不同场景。

2024年6月29日 12:07 回复

你的答案