这一点C代码让我疯狂.它要求输入电压,但它跳过电阻1并要求电阻2.我在这里遗漏了一些非常明显的东西......到底是怎么回事......
#include <stdio.h>
int main()
{
float Vin;
int R1;
int R2;
printf("Input Voltage: ");
scanf("%.3f", &Vin);
printf("\nResistor 1: ");
scanf("%d", &R1);
printf("\nResistor 2: ");
scanf("%d", &R2);
return(0);
}
Run Code Online (Sandbox Code Playgroud)
删除.3部分:
scanf("%f", &Vin);
Run Code Online (Sandbox Code Playgroud)
配置输入的小数位数没有意义:)因此,scanf不支持它.A float总是有8位小数.提高编译器的警告级别.
如果打开-Wall编译器,则会收到警告:
警告:未知转换类型字符'.' 格式为[-Wformat]
警告:格式参数太多[-Wformat-extra-args]
所以只需删除.3 scanf.