黑马程序员技术交流社区

标题: 输出%,为什么要打%% ? [打印本页]

作者: 愿望    时间: 2014-8-5 15:38
标题: 输出%,为什么要打%% ?
本帖最后由 愿望 于 2014-8-6 21:36 编辑

  想输出%  , 为什么要打2个%呢, %是格式说明符,还是什么情况,\转义符没明白, 有知道的码?
作者: 从今以后    时间: 2014-8-5 17:33
貌似这个符号格式就这样子- -说不上为啥
作者: ヅ光着脚丫dε尐    时间: 2014-8-5 18:26
其实你真的没必要弄懂为啥。反正他就是那样,你不那样写输不出来。。。
作者: 山涧小草    时间: 2014-8-6 02:27
没有为什么,只是软件开发者这样设定了,就好像在国内行车靠右边一样!
作者: Jr_711    时间: 2014-8-6 09:08
1.我感觉.第一个%应该是格式说明符,你打一个%,它不知道你是格式说明符还是就是字符%,这里%有特殊意义
  记住就好吧

2.转义字符应该是\再加个其它字符,整个表示是一个字符,有一个对应ascii码值,也是相对应的作用就好吧

作者: -(_)-    时间: 2014-8-6 09:28
本帖最后由 -(_)- 于 2014-8-6 09:30 编辑

比如%c, %s, %d, 这些都是格式说明符, 编译器在识别的时候会把%号当成一个特殊的标识符一样来判断这是一个格式说明符, 因此要输出%号时候就要用%%, 不然编译器不知道你是要输出%跟s, 还是要作为格式说明符%s

作者: 愿望    时间: 2014-8-6 21:37
ヅ光着脚丫dε尐 发表于 2014-8-5 18:26
其实你真的没必要弄懂为啥。反正他就是那样,你不那样写输不出来。。。

  好像我专牛角尖了。。。
作者: 愿望    时间: 2014-8-6 21:39
Jr_711 发表于 2014-8-6 09:08
1.我感觉.第一个%应该是格式说明符,你打一个%,它不知道你是格式说明符还是就是字符%,这里%有特殊意义
   ...

多谢老兄的讲解,谢谢!
作者: 愿望    时间: 2014-8-6 21:41
-(_)- 发表于 2014-8-6 09:28
比如%c, %s, %d, 这些都是格式说明符, 编译器在识别的时候会把%号当成一个特殊的标识符一样来判断这是一个 ...

  嗯,我想的也是这样的答案能让我明白,多谢你!
作者: zhuiyi007    时间: 2014-8-7 08:41
以前还真没注意到这个问题,只知道转义符\输出' ' " " 之类的
作者: ccq    时间: 2014-8-7 19:52
这是一种格式,没有为什么,只是一种输出方式。
作者: 愿望    时间: 2014-8-7 23:25
ccq 发表于 2014-8-7 19:52
这是一种格式,没有为什么,只是一种输出方式。

是我转牛角尖了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2