我不确定我做错了什么,但我无法从控制台读取双重内容.读它因某种原因工作正常.我正在使用Xcode.
double n1;
// get input from the user
printf("Enter first number: ");
scanf("%f", &n1);
printf("%f", n1);
Run Code Online (Sandbox Code Playgroud)
无论我输入什么,这将始终打印0.
%f正在寻找一个漂浮,而不是双重.如果要使用double,请使用该格式%lf.
作为一个有点有趣的一面,clang警告没有任何额外的标志,gcc 4.6即使用它也不会发出警告-Wall -Wextra -pedantic.
%f用于single precision floating-point value(浮动).你需要的格式说明符是%lf,意思是long precision floating-point value(双).