我是编程新手,我真的很想学习编写一个像样的程序。我不确定如何使用 EOF。我的程序已编译,当我运行它时,它工作正常,除了 EOF 部分。该程序应该向主函数返回一个 -1 值(在使用 CTRL+z 之后),并将打印一条语句然后关闭程序。-1 是与 EOF 本身的 -1 不同的值。
#include <stdio.h>
//Function Declaration
int inputFunction (int num);
int main (void)
{
//Local Declarations
int num;
do
{
inputFunction (num);
if (num < 0 || num > 100)
inputFunction (num);
else
inputFunction (num);
}while (num != -1);
return 0;
}
int inputFunction (int num)
{
int rc;
do
{
printf("Enter an integer from 0 to 100: \n");
rc = scanf("%d", &num);
{
if (rc != EOF)
{
if (num < 0 || num >100)
{
printf("ERROR\n");
return num;
}
else
{
return num;
}
}
else
{
num = -1;
return num;
}
}
}while (rc != EOF);
}