换成double后输出全为0.00了,没明白为什么

#include<stdio.h>

#include<math.h>

void fir(double x); 

void scd(double x);

int main()

{

  float  x;//这里能换成 double x 吗?为什么 

  scanf("%f",&x);

  if(x>=0)

  fir(x);

  else

  scd(x);

  return 0;

}

void fir(double x){

double b;

  b=sqrt(x);

  

  printf("f(%.2f)=%.2f",x,b);

}

void scd(double x){

double b;

  b=pow(x+1,2);

  printf("f(%.2f)=%.2f",x,b);

}


qq_追风者_buwyHR
浏览 1938回答 3
3回答

WrongAnswer

你换成double的话,输入应该是scanf("%lf",&x);%lf代表double, %f代表float
打开App,查看更多内容
随时随地看视频慕课网APP