c - 我怎样才能在C中继续这个循环

标签 c loops for-loop while-loop

我试图在两个循环中输出相同数量的 printf 语句,并且我必须使用 for 和 while 。不幸的是,我的第二个循环陷入了无限循环。我在第二个循环中做错了什么?

#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS

int main()
{
    int x,c,v,b;
    printf("Please enter a number between 1 and 25 \n");
    scanf_s("%d",&x,&c);

    for (x != 0; x--;)
    {

        printf("I'd rather be doing something else \n");
    }
    while (c!=0 ) {
        printf("Programming is easy");
        c--;
    }
}

最佳答案

scanf_s("%d",&x,&c);

在此 scanf 中,您仅获得一个值。
这里变量c正在获取一些垃圾值,因此它可能会运行很长时间,您认为这是无限循环。
使用

scanf_s("%d %d",&x,&c);

按照 for 循环语法。

for(variable initialization; condition; variable update)  

在您的代码中,您已经拥有变量 x 的值。
条件检查x != 0
变量更新x--

所以应该是

for( ;  x != 0; x--)

编辑:
如何让用户提示输入一系列数字,直到用户输入 -1 停止。

您可以使用的简单代码是。

scanf("%d,&a);
while(a != -1)
{
    //do work here
    //
    //
    //-----
    scanf("%d,&a);
}

关于c - 我怎样才能在C中继续这个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35809925/

相关文章:

c++ - 创建一个更小的凸包算法,可以用1个循环完成吗?

c - 当输入超过 8 位值时,以下程序 "Counting consecutive 1' s 的二进制 no"显示不同的 ans?

c++ - 精度损失(赋值)

c - 在 c99 模式之外循环静态分配的数组?

php - 循环遍历 MySQL 结果并将值保存到 $_SESSION

javascript - React native key 在 for 循环中未正确更新?

地址可以类型转换吗?

c - C,keytab程序中的结构

JavaScript - Express JS - 动态面包屑创建(名称 + URL)

javascript - 我可以创建一个循环来呈现图像并在不同页面上进行调查李克特响应吗?