如何在C编程中使用If语句作为循环?
问题描述:
我想使用If语句作为循环,我试图编写一个程序,它应该保持输入,直到用户输入0,作为用户输入0,它应该终止,并将所有输入数字的和作为输出。例如: 请输入N个和值= 10如何在C编程中使用If语句作为循环?
#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);
}
这可能更使用
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);
}
答
你需要一个do-while循环
sum = 0;
do
{
printf("Enter Value of n");
scanf("%d",&n);
sum+=n;
}
while(n!=0);
printf("Sum is = %d", sum);
注 “而做” 被简化:在do-while循环,你的循环块在没有检查条件的情况下执行,在循环块结束后它检查条件并中断循环。
所以起初代码要求输入,总和数字,然后检查0输入。如果是这样,则打破循环并打印sum的值,否则再次执行循环块。
答
这是可能的使用goto
声明,以下是代码
int main()
{
int n, add;
Sum:
add=add+n;
printf("Enter number:");
scanf("%d", &n);
//add=add+n;
if(n!=0)
goto Sum;
else
printf("sum is =%d",add);
return 0;
}
答
#include <stdio.h>
int sum1 =0;
int sum();
int main()
{
sum();
}
int sum(){
int n;
printf("Enter number :");
scanf("%d",&n);
if(n!=0){
sum1=sum1+n;
sum();
}
else{
printf("Sum :%d\n",sum1);
}
}
我们将如何同时在这里使用。 –
讨论主题:总是检查'scanf'返回的值 – 4386427
解决此类问题的正确工具是您的调试器。您应该先询问Stack Overflow,然后逐行执行代码。如需更多帮助,请阅读[如何调试小程序(由Eric Lippert撰写)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,你应该[编辑]你的问题,以包含一个[Minimal,Complete,and Verifiable](http://*.com/help/mcve)例子来重现你的问题,以及你在调试器中所做的观察。 –