scanf函数返回值问题
#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);
printf("%d",status);
return 0;
}
status这个值是怎么变化的?
自己作的时候status结果值一直是0
如果用户成功输入浮点数,则 scanf 的返回值为 1 scanf的返回值是1或0
1就是用户输入了数据,0就是没有输入 ?一直为1 好吧 我这么一直输入 我猜是因为判断完后,所以status清零了?我在输出之前加了一句status=num;好像就对了。也不是很确定啦{:10_269:}
页:
[1]