计算n个自然数和的程序输入数字后无输出且持续运行问题
自然数求和程序死循环问题分析与修复
你的代码出现死循环的核心原因是while循环语句末尾多了一个分号:
while(i<=n); //loop runs n times
这个分号会被识别为空语句,成为while的循环体。大括号内的s=s+i;和i++;根本不会被执行,变量i始终保持初始值1,永远满足i<=n的条件,导致程序一直卡在循环中无法推进。
修正后的代码
#include<stdio.h> int main() { int i,n,s; i=1;s=0; printf("Enter a number:"); scanf("%d",&n); while(i<=n) //loop runs n times { s=s+i; i++; } printf("%d",s); }
补充说明:保存代码后程序可正常输出预期结果,代码本身无问题。保留此内容供遇到同类问题的用户参考,建议先保存源码再运行。
内容的提问来源于stack exchange,提问作者Rishi_jha
相关产品推荐
相关产品推荐

