浮点变量在C中保持为零

时间:2014-09-06 21:30:22

标签: c

当我使用scanf分配euro用户输入时,它将导致零。我无法弄清楚为什么它会像这样。

float euro;
int main(void){

  printf("Ange euro: ");
  scanf("%d", &euro);
  printf("%d", euro);

  return 0;
}

3 个答案:

答案 0 :(得分:3)

对浮点值使用%f说明符,%d用于整数。

#include<stdio.h>

float euro;
int main(void){

  printf("Ange euro: ");
  scanf("%f", &euro);
  printf("%.2f\n", euro);

  return 0;
}

答案 1 :(得分:1)

您必须使用正确的格式说明符。将格式说明符%d更改为%f

  scanf("%f", &euro);
  printf("%f", euro);

答案 2 :(得分:1)

由于您将euro声明为浮点变量,因此您需要具有相应的格式说明符。对于花车,它是%f

以下是printfscanf语句的一个很好的格式说明符列表: http://www.cplusplus.com/reference/cstdio/printf/