| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1047 人关注过本帖
标题:我是菜鸟中的菜鸟!这个%d 到底是什么意思?请高手指教
只看楼主 加入收藏
黑暗烧纸人
Rank: 4
来 自:甘肃
等 级:业余侠客
帖 子:113
专家分:239
注 册:2012-12-22
收藏
得分:0 
用的多了就知道啥意思了。。。

老衲闻到一股蛋蛋的忧伤......
2013-02-23 20:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你先看看著名的代码:
printf("Hello, world!");
这是一条输出指令,函数将在控制台中输出一个字符串
Hello, wordld!
现在,你希望在Hello之后加上自己的名字,这个名字用your_name变量储存起来。注意,你要把名字放在Hello之后,那么把插入的位置放对即可,如下:
printf("Hello, %s world!", your_name);
红色的%s,就是函数知道,用后面变量your_name的内容,替换掉这里的%s字样,就是最终的输出——这是一种文本替换方法,类似world中的搜索替换。

%s是告诉printf()函数,后面的参数是字符串,如果那是数值,就要教它识别,约定用%d表示那是十进制整数,用%f表示那是浮点数,如此有一大堆的约定内容,查书即可。

再说一遍:这只是编写printf()函数的程序员的约定,不是什么C语言规定的,你完全可以写另外的输出函数,不用printf()完成同样的任务,事实上C语言的有些分支就有另外的输出函数,不用这种格式。不要学死了。

[ 本帖最后由 TonyDeng 于 2013-2-23 21:02 编辑 ]

授人以渔,不授人以鱼。
2013-02-23 21:00
lgzabao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-9
收藏
得分:0 
我也是菜鸟,正在看书呢,一起努力啊
2013-02-23 21:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这种替换手段,最大的陷阱是数据类型不匹配。编译器编译时,是不会检查这种匹配的,比如printf("%d", "123"),函数预期后面的参数是整数,但程序员写成了字符串,编译器检查不出这种错误,错误只有在程序运行时才会发生,所以不要以为编译通过了就万事大吉。

归根结底,像printf()/scanf()这种类型的IO函数,推翻了C语言类型检查的本意,把编译型语言暗中扭曲为解释型语言,在程序设计中,是不该滥用的。与其用C写这样的函数,不如直接用BASIC这样的解释语言。在与机器交互的时候,用这类函数还可以,但若与人交互,最好不要使用。

授人以渔,不授人以鱼。
2013-02-23 21:16
PGenius
Rank: 2
来 自:China
等 级:论坛游民
帖 子:14
专家分:17
注 册:2013-2-20
收藏
得分:0 
这个不好解释啊  , %d  整型
int x;
scanf("%d",&x); //输入一个整数给x
printf("%d",x); //输出整数x
  
意思就是这样 integer 整数,%d就是整数控制字符

Pitch-dark night have given me a pair of black eyes
2013-02-24 00:07
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
printf锛堚
2013-02-24 05:49
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
收藏
得分:0 
输入/输出整形数据
2013-02-24 08:49
xxbuer
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2013-2-20
收藏
得分:0 
只知道怎么用,要说出来名字,还真不知道。
2013-02-24 15:58
锦衣——
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2013-2-24
收藏
得分:0 
输出类型为整型!
2013-02-24 16:51
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
。。。。

仰望星空...........不忘初心!
2013-02-24 17:00
快速回复:我是菜鸟中的菜鸟!这个%d 到底是什么意思?请高手指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028326 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved