c - C语言中如何使用If语句作为循环?

标签 c

我想使用 If 语句作为循环,我正在尝试编写一个程序,该程序应该继续获取输入,直到用户输入 0,当用户输入 0 时,它应该终止并给出所有输入数字的总和作为输出。例如: 请输入N值 1 4 5 0 总和=10

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n=0;
    int sum;
   printf("Enter Value of n");
   scanf("%d",&n);

   if(n!=0)
   {
      sum=sum+n;
   }
   else
        printf("Sum is = %d", sum);

  }

程序在获得第一个输入后终止,理想情况下它应该继续获得输入,直到输入 0。然后它应该打印所有输入值的总和。

最佳答案

if 语句不是循环,也永远不会是循环。听起来你想要一个 while 循环。

int main()
{
   int n=0;
   int sum = 0, counter;
   int aver;
   printf("Enter Value of n");
   scanf("%d",&n);

   while(n != 0)
   {
      sum=sum+n;
      printf("Enter Value of n");
      scanf("%d",&n);
   }
   printf("Sum is = %d", sum);
  }

使用“do while”可以进一步简化

int main()
{
   int n=1;
   int sum = 0;

   do {
       printf("Enter Value of n");
       scanf("%d",&n);
       sum=sum+n;
   }
   while(n != 0)
   printf("Sum is = %d", sum);
  }

关于c - C语言中如何使用If语句作为循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865551/

相关文章:

android - 如何编写 IPERF Android 应用程序

c - intptr_t 和 uintptr_t 的字符串格式

c - 如何在 C 中使用字符串和指针?

c - memcmp 只适用于字符串吗?

c数组拼接问题

c - AES256 hex_print 到 hex_tofile 使用 enc_out

c - 如何修复 if 语句错误和 "Result of comparison against a string literal is unspecified"?

c - 为什么-8%-5的结果等于-3

arrays - 创建数组时使用 OpenMP 时出现段错误

c - 查找第一次出现的未转义字符