【发布时间】:2009-10-12 12:57:15
【问题描述】:
我是 Bison 的新手,但在 C/C++ 中没有,在这个开发和正则表达式的时候,我从未听说过这样的东西,只有 \n 用于新行,但我想知道什么是\t%.10g的解释,代码里是这样的:
line: '\n'
| exp '\n' { printf ("\t%.10g\n", $1); }
;
最好的问候。
【问题讨论】:
我是 Bison 的新手,但在 C/C++ 中没有,在这个开发和正则表达式的时候,我从未听说过这样的东西,只有 \n 用于新行,但我想知道什么是\t%.10g的解释,代码里是这样的:
line: '\n'
| exp '\n' { printf ("\t%.10g\n", $1); }
;
最好的问候。
【问题讨论】:
它的意思是“打印一个制表符 (\t) 后跟一个小数点后 10 位的浮点数,根据数量级 (%.10g) 采用科学或定点表示法,然后是换行符 (\ n)"。
【讨论】:
【讨论】:
这不是一个正则表达式,而是一个 printf 格式规范:打印一个制表符,后跟一个浮点数,小数点后有 10 位数字,可以是 %f(浮点表示法)方式或 %e(科学表示法)方式,以任何方式为准更短,并以换行符结尾。
man printf
【讨论】: