请问一下为什么我的代码double一用在while或for中就错?

#include <stdio.h>
int main()
{
int a;
float M,V,p;
scanf("%d",&a);
while(a--)
{
scanf("%f%f",&M,&V);
printf("%.4f\n",M/V);
}
return 0;
}
这个对,但float一改成double结果就错

#include<cstdio>
int main()
{
int T;
scanf("%d",&T);
float M,V;
for( int n=1;n<=T;n++)
{
scanf("%f%f",&M,&V);
printf("%.4f\n",M/V);
}
return 0;
}

这个也是,有人说只能用if,为什么

GCT1015
浏览 152回答 2
2回答

慕后森

#include&nbsp;<stdio.h>int&nbsp;main(){&nbsp;&nbsp;&nbsp;int&nbsp;a;&nbsp;&nbsp;&nbsp;double&nbsp;M,V,p;&nbsp;&nbsp;&nbsp;scanf("%d",&a);&nbsp;&nbsp;&nbsp;while(a--)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%f%f",&M,&V);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%.4f\n",M/V);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;return&nbsp;0;}上面的float改成double,经过运行,没有发现错误!下面的float改成double,经过运行,也没有发现任何错误,如果你再次运行还是报错,请将报错内容贴上来看看。#include<cstdio>int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;T;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d",&T);&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;M,V;&nbsp;&nbsp;&nbsp;&nbsp;for(&nbsp;int&nbsp;n=1;n<=T;n++)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%f%f",&M,&V);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%.4f\n",M/V);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}

倚天杖

你看错了,是Lf,不是ifscanf("%lf%lf",&M,&V);
打开App,查看更多内容
随时随地看视频慕课网APP