язык точной арифметики (precision arithmetic language)
Использование в приложениях (Application usage)
Automatic variables in bc do not work in exactly the same way as
in either C or PL/1.
For historical reasons, the exit status from bc cannot be relied
upon to indicate that an error has occurred. Returning zero
after an error is possible. Therefore, bc should be used
primarily by interactive users (who can react to error messages)
or by application programs that can somehow validate the answers
returned as not including error messages.
The bc utility always uses the <period> ('.'
) character to
represent a radix point, regardless of any decimal-point
character specified as part of the current locale. In languages
like C or awk, the <period> character is used in program source,
so it can be portable and unambiguous, while the locale-specific
character is used in input and output. Because there is no
distinction between source and input in bc, this arrangement
would not be possible. Using the locale-specific character in
bc's input would introduce ambiguities into the language;
consider the following example in a locale with a <comma> as the
decimal-point character:
define f(a,b) {
...
}
...
f(1,2,3)
Because of such ambiguities, the <period> character is used in
input. Having input follow different conventions from output
would be confusing in either pipeline usage or interactive usage,
so the <period> is also used in output.