|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
比如以下这样是正确的,但如果把scanf上移到sum下面就会出现输入数字之后程序无法反映是为什么呢
顺便解释一下那种错误情况下的运行思路(因为黑框输入数字之后就没有反应了所以也调试不了
#include<stdio.h>
int main()
{
int n=0;
int num;
int sum=0;
do{
scanf("%d",&num);
if(num !=-1){
sum +=num;
n ++;
}
}while(num !=-1);
printf("%d",sum/n);
return 0;
}
本帖最后由 大马强 于 2021-7-29 19:32 编辑
- #include<stdio.h>
- int main()
- {
- int n=0;
- int num;
- int sum=0;
- scanf("%d",&num);
- do{
-
- if(num !=-1){
- sum +=num;
- n ++;
- }
- }while(num !=-1);
- printf("%d",sum/n);
- return 0;
- }
复制代码
如果是这样
存在几个问题,
如果你没有输入-1,程序会陷入到死循环,因为你scanf在循环外,只能接受一次输入
当你输入-1,0/0是不行的,因为0不能当除数所以会报错
|
|