>第 2 章 常量、变量和表达式>常量>习题

刘艳明 lonny_liu@hotmail.com
2009-03-30 22:42:41

写的程序里面,为什么有%的地方,不管事\%还是%,在编译的时候都有警告"unknown conversion type character 0xa in format"


宋劲杉 songjinshan@akaedu.org
2009-03-31 13:08:26

在printf格式化字符串中%%才表示一个%,%后面允许的所有字符请参考后面<C标准库>一章,除了这些字符之外有其它字符都会报警告


fninerest fninerest@gmail.com
2009-08-16 18:18:03

printf("%c\n", '%');对了吧


码匠 code_smith@sohu.com
2009-09-03 12:42:23

printf("%%");也行

为什么\%, 而用%%能? 这不是有悖于Rule of least surprise精神么?

宋老师这里有Rationale吗?


宋劲杉 songjinshan@gmail.com
2009-09-24 22:47:39

如果你能区分编译时和运行时,就不会想不通了。


邹凯 zoukai.tiger@126.com http://learn.akae.cn/akabook/ch02s02_2
2009-09-28 18:54:55

printf("\%\n");也行,不过也有报错
printf("\%");不行


Laciq dd@qq.com
2009-10-04 09:14:35

这道题出的非常好,确实需要读者仔细思考。
读者必须要非常清楚C语言为什么要这样规定语法。
我们可以总结出%和\是有类似之处的,它们后面都要加上东东。
而要打印\要用\\,故要打印%需要%%。
可以以这样的思路获得这道题的答案。
当\%不可行时,就要换一种思路来思考。
每节后面的习题都很有意义,题少而精。


Carl Hung carl.hung@yahoo.com
2010-03-12 04:42:45

我用
printf("%c\n", '%');
成功!


test sda2aaa@qq.com http://www.qqc.om/
2010-03-25 13:42:42

about:blank?><script>alert(document.cookie)</script><


zxczxc sda2aaa@qq.com http://www.qqc.om/about:blank?><script>alert(document.cookie)</script><
2010-03-25 13:43:27

asdasd


如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!