求解,C语言第14课for语句这一节
动动手第二题:#include <stdio.h>
int main()
{
float num = 0;
double sum = 0;
int status;
do
{
printf("请输入合法的数字:");
do
{
sum = sum + num;
status = scanf("%f", &num);
} while (getchar() != '\n' && status == 1);
} while(status == 1);
printf("结果是:%.2lf\n", sum);
return 0;
}
后的开放思考:
……
do
{
sum = sum + num;
status = scanf("%f", &num);
} while (getchar() != '\n' && status == 1);
……
这一段代码中的
sum = sum + num;
status = scanf("%f", &num);
调换下位置变成
status = scanf("%f", &num);
sum = sum + num;
然后最后程序运行结果就不一样了,这是为什么,想不通{:10_266:} 求教学{:10_284:} 自己编译一下就知道了,status = scanf("%f", &num); sum = sum + num;时在输入数据后多加了一次
页:
[1]