[英]scanf not working when reading float
我有以下代码:
#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
:unknown field type character '.' 在格式说明符中2.)
scanf
: 为格式字符串传递的 arguments 太多
谁能解释我的代码中的问题是什么?
谢谢!
scanf("%f",&a)
不使用格式说明符。
如注释中所述,Visual Studio将此警告视为错误。 所以要么使用
scanf_s("%f",&a);
或进入设置并禁用此警告,如本文所述: 为什么C4996上的Visual Studio 2013错误?
您不应该格式化输入。 因此,只需将%f
用作scanf
的第一个参数
scanf("%f", &a);
使用 %lf 扫描双精度输入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.