1

如何在 do-while 循环后打印一条消息,告诉输入错误?还是我使用了错误的循环?

#include <stdio.h>
#include <conio.h>

void main(){
    int inp;
    do{
        clrscr();
        printf("Enter Number < 10: ");
        scanf("%d",&inp);
    }
    while(inp>10); // Print "Wrong" when inp>10
    printf("Right Answer!");
    getch();
}
4

1 回答 1

4

你可以做以下两件事之一:

在 while 循环的末尾添加一个额外的检查:

if(inp>10){
    printf("error");
}

或者您可以避免额外的检查,同时牺牲一些可读性并将您的 while 循环更改为

while(inp>10 && printf("error"))

这是因为如果第一个语句为真,printf()则不会因为短路而执行,但如果为假,printf()则将在返回循环顶部之前执行。

于 2013-10-30T05:08:12.283 回答