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