C中的标准格式

时间:2016-04-16 22:39:29

标签: c

经过几个小时的搜索后,我找不到答案,但如果这是重复的,请指出我正确的方向。

C程序是否会从键盘接受标准表单输入scanf("%f",&float);之类的内容。标准格式是将2400这样的数字写成2.4E3,如果这有助于您理解我的要求。

我必须强调这必须来自键盘。

2 个答案:

答案 0 :(得分:2)

  1. scanf的工作方式相同,无论stdin是否连接到终端,文件或其他输入流。

  2. %a%e%f%g scanf格式代码都做同样的事情:解释{{{{{{[{ 1}}(§7.21.6.2/ 12)。 ({1}},strtod%A%E - 同一条款的第14段也是如此。)冗余是因为%F格式接受相同的格式代码为%G

  3. scanf接受以下任何一项(§7.22.1.3/ 3):

      
        
    • 非空的十进制数字序列,可选地包含小数点字符,然后是6.4.4.2中定义的可选指数部分;
    •   
    • 一个0x或0X,然后是非空的十六进制数字序列,可选地包含一个小数点字符,然后是6.4.4.2中定义的可选二进制指数部分;
    •   
    • INF或INFINITY,忽略大小写
    •   
    • NAN或NAN(n-char-sequenceopt),忽略NAN部分的情况,......
    •   

答案 1 :(得分:1)

是的,它正在我的终端和IDEone解释器中接受(在stdin中添加它与“来自键盘”相同)。

可能是一个错字,但你错过了<{p>中的""

scanf("%f", &float)