修改下面这个用do-while语句实现的程序,改用while语句实现,并对比其优缺点。
#include <stdio.h>
int main()
{
int sum = 0, m;
do
{
printf("Input m:\n");
scanf("%d", &m);
sum = sum + m;
printf("sum = %d\n", sum);
}
while (m != 0);
return 0;
}
#include <stdio.h>
int main()
{
int sum = 0, m,ret;
printf("Input m:\n");
ret=scanf("%d",&m);
while (m != 0){
while(ret!=1){
while(getchar()!='\n');
ret=scanf("%d",&m);
}
sum = sum + m;
printf("sum = %d\n", sum);
printf("Input m:\n");
ret=scanf("%d",&m);
}
return 0;
}
系统判定超时是哪里出问题了