首页 > 解决方案 > 如何将此while循环转换为for循环?

问题描述

#include <stdio.h>

int main ()
{ 
int num, sum=0;
printf("Please enter a number: ");
scanf("%d",&num);

while (num>0)
{
    sum += num;
    printf("Please enter a number: ");
    scanf("%d",&num);
}

printf ("Sum = %d ", sum);
return 0;
}

这是我做的。我试图将这个 while 循环转换为添加数字,直到用户输入 0 到 for 循环。我可以知道我的错误是什么吗?

    #include <stdio.h>
    int main ()

    {
    int num;

    printf("Enter a number: ");
    scanf("%d", &num);

    int sum=0;

    for (int i=num; i!=0; )
    {
        sum += num;
        printf("Enter a number: ");
        scanf("%d", &num);
    }

    return 0;
}

标签: cfor-loopwhile-loop

解决方案


您只更新numsum在循环中。i用作循环条件的 不更新。您应该删除i未正确使用的变量,并修复循环条件。

#include <stdio.h>
int main ()

{
    int num;

    printf("Enter a number: ");
    scanf("%d", &num);

    int sum=0;

    for (; num!=0; )
    {
        sum += num;
        printf("Enter a number: ");
        scanf("%d", &num);
    }

    return 0;
}

推荐阅读