所以这是我遇到麻烦的部分代码。
错误说%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);

最佳答案

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

关于c - 格式为“%f”,期望参数的类型为“float *”,但参数2的类型为“double *” [-Wformat =] scanf(“%1f”,&n);,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42358139/

10-12 05:08