私はCとプログラミングにかなり慣れていないので、行き詰まり続けています。私は 1 つのプログラムを作成し、それにさらに複雑さを加えて練習しています。
ここで尋ねられた他のいくつかの質問と比較すると、プログラムはかなり単純です。私がしたいのは、数値を入力して、それが 5 より小さいか大きいかを言うことだけです。最近、メニューと Do While ループを追加しました。これが以下のコードです。
#include <stdio.h>
void main ()
{
int ANumber;
bool Determine = 1;
int MenuChoice;
printf("1) Enter a number." "\n2) Exit.\n");
printf("\nPlease choose an option from the menu above - ");
scanf("%d", &MenuChoice);
if (1 == MenuChoice) {
do {
printf("\nPlease enter a number that is between 0 and 10 - ");
scanf("%d", &ANumber);
if (ANumber == 5)
printf("The number you entered is 5.\n");
if (ANumber >= 6)
printf("The number you entered is larger than 5.\n");
if (ANumber <= 4)
printf("The number you entered is smaller than 5.\n");
getchar();
printf("Would you like to continue? 1 = Yes OR 0 = No - ");
scanf("%d", &Determine);
return;
} while (true == Determine);
if (false == Determine) {
return;
}
}
if (2 == MenuChoice)
return;
}
主な問題は、コードの大部分が正常に動作することです。
ループを終了したいときに問題が発生します。
while (true == Determine);
if (false == Determine) {
return;
}
プログラムに 0 を入力すると、次のエラーが表示されます。
Run-Time Check Failure #2 - Stack around the variable 'Determine' was corrupted.
何が問題なのか、このエラー メッセージが何を意味するのかを教えてください。
ありがとう