Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Bison 的新手,但是在 C/C++ 中没有,在这个开发和正则表达式的时候,我从来没有听说过这样的东西,只有\n那用于新行,但我想知道\t%.10g, 那的解释是什么在代码中是这样的:
\n
\t%.10g
line: '\n' | exp '\n' { printf ("\t%.10g\n", $1); } ;
最好的祝福。
它的意思是“打印一个制表符 (\t),后跟一个小数点后 10 位的浮点数,根据数量级 (%.10g) 采用科学或定点表示法,然后是换行符 (\n)” .
查看解码模式的printf参考:
printf
g 使用较短的%e或%f e 使用 e 字符的科学记数法(尾数/指数) f 十进制浮点数
g 使用较短的%e或%f
g
%e
%f
e 使用 e 字符的科学记数法(尾数/指数)
e
f 十进制浮点数
f
因此,%.10g打印具有十位有效数字的十进制数。
%.10g
它不是一个正则表达式,而是一个 printf 格式规范:打印一个制表符,后跟一个浮点数,小数点后有 10 位数字,以 %f(浮点表示法)方式或 %e(科学记数法)方式,以较短者为准,并以换行符结束。
man printf