
c语言的困惑
刚开始学c,double类型的钻换说明符是什么?是%f还是%lf?是不是printf和scanf的情况不一样,看primerplus上说:printf()把%f,%e,%...
刚开始学c,double类型的钻换说明符是什么?是%f还是%lf?是不是printf和scanf的情况不一样,看primer plus上说:printf()把%f,%e,%E,%g,%G同时用于float类型和double类型,而scanf()只把他们用于float类型,而用于double类型时要使用l修饰符。而此书其后提到scanf()的转换修饰符时又说将L(而非l)与e、f和g一起指示该值以long double类型存储。
展开
2个回答
展开全部
The type character is the only required format field; it appears after any optional format fields. The type character determines whether the associated argument is interpreted as a character, string, or number. The types C, n, p, and S, and the behavior of c and s with printf functions, are Microsoft extensions and are not ANSI compatible.
Character
Type
Output format
c
int or wint_t
When used with printf functions, specifies a single-byte character; when used with wprintf functions, specifies a wide character.
C
int or wint_t
When used with printf functions, specifies a wide character; when used with wprintf functions, specifies a single-byte character.
d
int
Signed decimal integer.
i
int
Signed decimal integer.
o
int
Unsigned octal integer.
u
int
Unsigned decimal integer.
x
int
Unsigned hexadecimal integer, using "abcdef."
X
int
Unsigned hexadecimal integer, using "ABCDEF."
e
double
Signed value having the form [ – ]d.dddd e [sign]dd[d] where d is a single decimal digit, dddd is one or more decimal digits, dd[d] is two or three decimal digits depending on the output format and size of the exponent, and sign is + or –.
E
double
Identical to the e format except that E rather than e introduces the exponent.
f
double
Signed value having the form [ – ]dddd.dddd, where dddd is one or more decimal digits. The number of digits before the decimal point depends on the magnitude of the number, and the number of digits after the decimal point depends on the requested precision.
g
double
Signed value printed in f or e format, whichever is more compact for the given value and precision. The e format is used only when the exponent of the value is less than –4 or greater than or equal to the precision argument. Trailing zeros are truncated, and the decimal point appears only if one or more digits follow it.
G
double
Identical to the g format, except that E, rather than e, introduces the exponent (where appropriate).
a
double
Signed hexadecimal double precision floating point value having the form [?]0xh.hhhh p±dd, where h.hhhh are the hex digits (using lower case letters) of the mantissa, and dd are one or more digits for the exponent. The precision specifies the number of digits after the point.
A
double
Signed hexadecimal double precision floating point value having the form [?]0Xh.hhhh P±dd, where h.hhhh are the hex digits (using capital letters) of the mantissa, and dd are one or more digits for the exponent. The precision specifies the number of digits after the point.
n
Pointer to integer
Number of characters successfully written so far to the stream or buffer; this value is stored in the integer whose address is given as the argument. See Security Note below.
p
Pointer to void
Prints the argument as an address in hexadecimal digits.
s
String
When used with printf functions, specifies a single-byte–character string; when used with wprintf functions, specifies a wide-character string. Characters are printed up to the first null character or until the precision value is reached.
S
String
When used with printf functions, specifies a wide-character string; when used with wprintf functions, specifies a single-byte–character string. Characters are printed up to the first null character or until the precision value is reached.
这是vc中的应该和c是通用的 MSDN很好用 可以去下载个
Character
Type
Output format
c
int or wint_t
When used with printf functions, specifies a single-byte character; when used with wprintf functions, specifies a wide character.
C
int or wint_t
When used with printf functions, specifies a wide character; when used with wprintf functions, specifies a single-byte character.
d
int
Signed decimal integer.
i
int
Signed decimal integer.
o
int
Unsigned octal integer.
u
int
Unsigned decimal integer.
x
int
Unsigned hexadecimal integer, using "abcdef."
X
int
Unsigned hexadecimal integer, using "ABCDEF."
e
double
Signed value having the form [ – ]d.dddd e [sign]dd[d] where d is a single decimal digit, dddd is one or more decimal digits, dd[d] is two or three decimal digits depending on the output format and size of the exponent, and sign is + or –.
E
double
Identical to the e format except that E rather than e introduces the exponent.
f
double
Signed value having the form [ – ]dddd.dddd, where dddd is one or more decimal digits. The number of digits before the decimal point depends on the magnitude of the number, and the number of digits after the decimal point depends on the requested precision.
g
double
Signed value printed in f or e format, whichever is more compact for the given value and precision. The e format is used only when the exponent of the value is less than –4 or greater than or equal to the precision argument. Trailing zeros are truncated, and the decimal point appears only if one or more digits follow it.
G
double
Identical to the g format, except that E, rather than e, introduces the exponent (where appropriate).
a
double
Signed hexadecimal double precision floating point value having the form [?]0xh.hhhh p±dd, where h.hhhh are the hex digits (using lower case letters) of the mantissa, and dd are one or more digits for the exponent. The precision specifies the number of digits after the point.
A
double
Signed hexadecimal double precision floating point value having the form [?]0Xh.hhhh P±dd, where h.hhhh are the hex digits (using capital letters) of the mantissa, and dd are one or more digits for the exponent. The precision specifies the number of digits after the point.
n
Pointer to integer
Number of characters successfully written so far to the stream or buffer; this value is stored in the integer whose address is given as the argument. See Security Note below.
p
Pointer to void
Prints the argument as an address in hexadecimal digits.
s
String
When used with printf functions, specifies a single-byte–character string; when used with wprintf functions, specifies a wide-character string. Characters are printed up to the first null character or until the precision value is reached.
S
String
When used with printf functions, specifies a wide-character string; when used with wprintf functions, specifies a single-byte–character string. Characters are printed up to the first null character or until the precision value is reached.
这是vc中的应该和c是通用的 MSDN很好用 可以去下载个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询