什么是“\ t%.10g \ n”

时间:2009-10-12 12:57:16

标签: c printf bison

我是Bison的新手,但在C / C ++中没有,在这个开发和正则表达式的时候我从来没有听过这样的东西,只有\n用于换行,但我想知道\t%.10g的解释是什么,在代码中是这样的:

line:     '\n'
        | exp '\n'  { printf ("\t%.10g\n", $1); }
;

最诚挚的问候。

3 个答案:

答案 0 :(得分:5)

这意味着“打印制表符(\ t)后跟一个带小数点后10位的浮点数,可以是科学或定点表示法,具体取决于数量级(%。10g),后跟换行符(\ n) N)”。

答案 1 :(得分:3)

查看printf reference解码模式:

  

g使用较短的%e%f

     

e使用e字符的科学记数法(螳螂/指数)

     

f十进制浮点

因此,%.10g打印十位有效十进制数。

答案 2 :(得分:2)

它不是正则表达式而是printf格式规范:打印制表符后跟一个小数点后面10位数的浮点数,或者%f(浮点表示法)方式或%e(科学不公平)方式,以较小者为准更短,并以换行结束。

man printf