gpt4 book ai didi

C:我的循环似乎不起作用

转载 作者:行者123 更新时间:2023-12-02 04:44:26 25 4
gpt4 key购买 nike

我是 C 的新手,今天我遇到了一个我没有弄明白的问题,所以我需要一些帮助。我们被赋予了这项任务:

'编写一个程序来演示使用“预读”技术的“while”循环:它要求用户输入介于(包括)10 和 100 之间的数字,输入零终止循环。如果输入的数字小于 10 或大于 100,则会显示一条错误消息(例如“错误:不允许使用 250”)。循环终止后,程序打印输入的数字数量。'

我遇到的问题是,一旦我输入一个有效数字(10-100 之间),程序就会停止运行,既不会终止也不会循环。另一方面,如果我输入无效数字,如 8、102,它会循环 printf("Error, %d is not allowed\n", num);

代码如下:

#include <stdio.h>


main(void)

{

int num;
int counter=1;

printf("Please type in your number between (and including) 10-100\n");
scanf("%d", &num);

if((num <10) || (num >100))
{
printf("Error, %d is not allowed\n", num);
}

while (num > 0)
{
counter++;

if((num <10) || (num >100))
{
printf("Error, %d is not allowed\n", num);
}
counter++;
}


printf("%d numbers were entered!\n", counter);

}

最佳答案

你必须在循环请求一个数字:

printf("Please type in your number between (and including) 10-100\n");
scanf("%d", &num);

请检查 scanf 的返回码以检测错误。

最后,您在循环内将计数器递增两次。

关于C:我的循环似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com