c语言中%c,%d,%f分别是什么意思

 我来答
红颜不求得
2017-05-17 · TA获得超过773个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:218万
展开全部
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型”
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式