程序不遵循声明

时间:2016-10-01 16:42:11

标签: c loops

使用visual studio 2015“C” 我要求用户在3-40之间输入一个数字,如果用户没有输入正确的值,它将进入while语句,并不断循环并再次询问,直到它们输入有效值,但不管是什么,它总是进入while循环,只会循环一次。

#include <stdio.h>

int main(void)
{
int counter;
int marks;



printf("---=== IPC mark Analyser ===---\n");

printf("Please enter the number of marks(between 3 and 40): ");
scanf("%d", &counter);

while (counter >40 || counter <3);
{
    printf("Invalid number, enter a number between 3 and 40 inclusive: ");
    scanf("%d", &counter);
} 


    printf("");

}

4 个答案:

答案 0 :(得分:3)

while (counter >40 || counter <3);

您必须删除分号。

while (counter >40 || counter <3)

答案 1 :(得分:0)

问题正在落后&#34;;&#34;在你的同时行:)

答案 2 :(得分:0)

最佳编码实践是将变量设置为零以删除可能位于内存中的可能垃圾数据

答案 3 :(得分:0)

问题是while循环后面的分号,因此你的程序似乎是一个声明。

下面给出了正确的代码。

#include <stdio.h>

int main(void)
{
int counter;
int marks;



printf("---=== IPC mark Analyser ===---\n");

printf("Please enter the number of marks(between 3 and 40): ");
scanf("%d", &counter);

while (counter >40 || counter <3)
{
    printf("Invalid number, enter a number between 3 and 40 inclusive: ");
    scanf("%d", &counter);
}


    printf("");

}