私はプログラミングが初めてで、まともなプログラムを書くことを本当に学びたいです。EOFの使い方がよくわかりません。プログラムがコンパイルされ、実行すると、EOF 部分を除いて正常に動作します。プログラムは (CTRL+z を使用した後) -1 の値をメイン関数に返し、ステートメントを出力してからプログラムを終了することになっています。-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);
}