阅读浮动

时间:2016-10-13 05:17:51

标签: c

我有以下代码:

#include <stdio.h>

float a;            //Initialize variables
char b;
int c;
char d;

int main(void)
{
    printf("Enter float: ");
    scanf("%4.2f", &a);

    printf("%4.2f", a);

    //printf("Enter character:\n");

    //printf("Enter 4-digit integer: \n");

    //printf("Enter character:\n");

    return 0;
}

但是编译时出现以下错误:

  

1。)scanf:未知字段类型字符'。'格式说明符

     

2。)scanf:为格式字符串

传递了太多参数

任何人都可以解释我的代码中的问题是什么吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

scanf("%f",&a)不接受格式说明符。

如评论中所述,Visual Studio将此警告视为错误。 所以要么使用

scanf_s("%f",&a);

或进入设置并禁用此帖Why does Visual Studio 2013 error on C4996?

中提到的此警告

答案 1 :(得分:2)

您不应格式化输入。因此,只需使用%f作为scanf

的第一个参数
scanf("%f", &a);