%d是用来输出十进制整型数据的实际长度输出;
%f是以小数形式输出单、双精度度数,隐含输出6位小数。
例子:
int a=123
CString temp
// %d是十进制整数(int)
temp.Format(“输出:%d”,a)
::MessageBox(NULL,temp,"信息",0)
信息框会显示123
%d是显示10进制的整数,%c是显示单个字符,%f是显示浮点数(可简单的认为是小数的一种) printf("%d %c %f", 5
, 'A' , 2.5 )
拓展资料这些是格式声明,格式声明由“%”和格式字符组成。
常用的格式字符有:
1)d格式符,用来输出一个有符号的十进制整数;
2)c格式符,用来输出一个字符;
3)s格式符,用来输出一个字符串;
4)f格式符,用来输出实数;
5)e格式符,用格式声明%e指定以指数形式输出实数;
6)i格式符,作用跟d格式符一样,不过习惯用%d而少用%i;
7)o格式符,以八进制整数形式输出;
8)x格式符,以十六进制数形式输出整数。
这几个都是格式字符
在输出不同数据时要用不同的的格式字符
%d是用来输出十进制整型数据的实际长度输出
%c是以字符形式输出,只输出一个字符
%f是以小数形式输出单、双精度度数,隐含输出6位小数
还有很多,如%s(输出字符串)等等
那么怎么用呢?
例如在printf输出数据时
int n=5
printf("%d",n)
这样就输出了。
printf函数格式字符:
C语言中对于不同类型的数据用不同的格式字符。常用的有以下几种格式字符:
(1)d格式字符。用来输出十进制整数。有以下几种用法:
1、%d,按 整型数据的实际长度输出。
2、%md,m为指定的输出字段的宽度。
3、%ld,输出长整形数据。
(2)o格式符,以 八进制整形式输出整数。
(3)x格式符,以 十六进制数形式输出整数。
(4)u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出。
(5)c格式符,用来输出一个字符。
(6)s格式符,用来输出一个字符串。
(7)f格式符,用来输出实数(包括单双精度),以小数形式输出。
(8)e格式符,以指数形式输出实数。
(9)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出是占宽度较小的一种),且不输出无意义的零。
(10) %[scanfset]:
scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束;另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。
对楼上的无语了。。。。C语言中的%与后面的字母一起构成了格式控制符,例如%s表示字符串,%i表示int,计算机当然不能直接识别什么是普通的字符,什么是格式控制符。但当计算机按照普通方式识别%之后,就会考虑下一个字母是不是s,i等等有特殊含义的字母,从而识别格式控制符。这也就是这些格式控制符在printf等函数中不能随便使用的一个原因吧