我對C和編程相當陌生,而且我一直在卡住。我正在練習一個程序,只是增加了更多的複雜性。使用Do-While循環的「運行時檢查失敗#2」
與其他一些問題相比,這個程序相當簡單。我想要做的就是輸入一個數字,然後說出它是否小於或大於五。我最近添加了一個菜單和一個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;
}
主要問題是大多數代碼工作正常。
當我想退出循環將出現問題:當我輸入0到這個錯誤出現在節目
while (true == Determine);
if (false == Determine) {
return;
}
:
Run-Time Check Failure #2 - Stack around the variable 'Determine' was corrupted.
我可以請有一定的幫助說明什麼是錯的,這個錯誤信息是什麼意思?
由於
如果您正確格式化您的代碼,那麼至少有一個錯誤會變得明顯。 –