格式'%f'需要类型为'float *'的参数,但参数2的类型为'double *'[-Wformat =] scanf("%1f",& n);

时间:2017-02-21 03:31:05

标签: c

所以这是我的代码的一部分我遇到了麻烦。 错误说%f是浮点数而n是双精度数,我在很多其他问题中都看到过,但答案是放入%1f而它仍然会在我尝试时返回相同的错误编译。

    #include <stdio.h>
    #include <math.h>

    int main()
    {

      //declaring variables
      double n, new_guess, guess;

      //getting data from the user
      printf ("Enter a number: ");
      scanf ("%1f", &n);

1 个答案:

答案 0 :(得分:2)

对于双数据类型使用%lf而不是℅1f,因为scanf会认为您正在传递一个指针,该指针指向一个小于double的float,它将返回不正确的值。,