Difficulty: Easy
Correct Answer: Convert floating-point number to a string
Explanation:
Introduction / Context:
Several C library functions convert numbers to strings. Knowing what functions like gcvt, ecvt, fcvt, and sprintf do helps when formatting numeric output without printf.
Given Data / Assumptions:
Concept / Approach:
gcvt converts a double value to a C-string using a specified number of significant digits, choosing either fixed-point or exponential notation to best represent the value. While not part of the C11/C18 standard, it remains widely implemented for legacy code.
Step-by-Step Solution:
Call gcvt(double value, int ndigit, char *buf).It writes a null-terminated string representing value with ndigit significant digits into buf.The result can be printed or stored for later use.
Verification / Alternative check:
Compare with snprintf for portable code: snprintf(buf, sz, "%.*g", ndigit, value) offers a standard-compliant equivalent behavior.
Why Other Options Are Wrong:
Vector/array conversions are unrelated to gcvt.
Common Pitfalls:
Assuming gcvt is always available; for portability, prefer snprintf with the %g or %e/%f formats.
Final Answer:
Convert floating-point number to a string
Discussion & Comments