当前位置:知之问问>百科知识>C语言里面,%d%c%f分别是什么意思?怎么用?

C语言里面,%d%c%f分别是什么意思?怎么用?

2023-08-10 07:12:27 编辑:join 浏览量:577

C语言里面,%d%c%f分别是什么意思?怎么用?

%c 单个字符

%d 十进制整数(int)

%ld 十进制整数(long)

%f 十进制浮点数(float)

%lf 十进制浮点数(double)

%o 八进制数

%s 字符串(char)

%u 无符号十进制数(DWORD)

%x 十六进制数(0x00000)

例子:

int a=123;

CString temp;

// %d是十进制整数(int)

temp.Format(“输出:%d”,a);

::MessageBox(NULL,temp,"信息",0);

信息框会显示123

C语言并没有定义这些东西,是某些函数定义了这些东西,比如scanf()和printf(),这些东西是“控制字符”,也就是用于“控制输入、输出的方式”的字符。

从输入的角度来说:

当我们从键盘输入数据时,我们按下的键其实都是“字符”,但这些按下的“字符”可以有不同的解读方式,比如我按下'3',它可以被读取、被认为是数字3,也可以被读取、被认为是字符'3',所以我们获取输入的时候就要“指定读取的方式”,而指定的方法就是设定“控制字符”,比如scanf()函数,如果我们令其为scanf("%c",&char变量),那么当我们键盘按下“123.12”时,scanf()就会获取第一个字符'1',然后存进那个char变量中,而如果我们令其为scanf("%f",&float变量),那么同样键盘按下“123.12”时,scanf()就会将它们当作一个整体、一个浮点数123.12,然后存进那个float型变量里。

而从输出的角度来说:

如果我们printf("%c",int变量),而且这个int变量为78,那么屏幕上输出的就不会是78,而是字符'N',只有printf("%d",int变量)时,屏幕上输出的才会是78,而printf()有这种机制的原因,就是char型变量其存储的其实也是“一个数字”,如果不指明输出的方式,那么就不知道该如何解释变量中的数字。当然还有对于字符串,如果不通过%s来指明其是一个字符串,那printf()如何判断该输出一个字符,还是直到'\0'的所有字符呢?

至于题目中所说的%c,%d,%f就分别对应着“将获取、解释的方式设为一个字符”,“将获取、解释的方式设为一个int型变量”,“将获取、解释的方式设为一个float型”

标签:C语言,d%,c%

版权声明:文章由 知之问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhzhwenwen.com/article/212218.html
热门文章