社区
C语言
帖子详情
请教,printf(" "" Hello world "" ") 为什么可以正常执行?连续两个双引号C语言是如何处理的?
common_man
2011-09-20 10:15:00
各位达人,昨天发现一段代码中宏展开后得到如下的代码:
printf(" "" Hello world "" ") ;
其中连续出现的双引号让我有点迷糊,直接在代码里面写上上面的语句也的确能正常编译运行输出,请问是怎么回事?
谢谢
...全文
1891
10
打赏
收藏
请教,printf(" "" Hello world "" ") 为什么可以正常执行?连续两个双引号C语言是如何处理的?
各位达人,昨天发现一段代码中宏展开后得到如下的代码: printf(" "" Hello world "" ") ; 其中连续出现的双引号让我有点迷糊,直接在代码里面写上上面的语句也的确能正常编译运行输出,请问是怎么回事? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
common_man
2011-09-20
打赏
举报
回复
[Quote=引用 9 楼 sinservice 的回复:]
引用 8 楼 common_man 的回复:
引用 5 楼 sinservice 的回复:
我没看清题目,呵呵。
连续写两个常量字符串,等于连接起来。
多谢回复!这是是C99引入的新规矩吗?还是一直以来都可以的?
貌似不新,我在很古老的编译器上都这么用过
[/Quote]
多谢!
「已注销」
2011-09-20
打赏
举报
回复
[Quote=引用 8 楼 common_man 的回复:]
引用 5 楼 sinservice 的回复:
我没看清题目,呵呵。
连续写两个常量字符串,等于连接起来。
多谢回复!这是是C99引入的新规矩吗?还是一直以来都可以的?
[/Quote]
貌似不新,我在很古老的编译器上都这么用过
common_man
2011-09-20
打赏
举报
回复
[Quote=引用 5 楼 sinservice 的回复:]
我没看清题目,呵呵。
连续写两个常量字符串,等于连接起来。
[/Quote]
多谢回复!这是是C99引入的新规矩吗?还是一直以来都可以的?
「已注销」
2011-09-20
打赏
举报
回复
比如 "a" "b" 等价于 "ab"
common_man
2011-09-20
打赏
举报
回复
[Quote=引用 2 楼 sinservice 的回复:]
要转义。
用转义符 \
\\ = \
\n = 回车
\r = 换行
\t = 制表符
\xDD = ascii 字符,DD是16进制码
\DDD = ascii 字符,DD是8进制码
\0 = ascii 字符0
\" = "
\' = '
[/Quote]
我不是要输出双引号本身,我奇怪的是,连续两个双引号怎么可以通过编译?
BTW,这是宏展开后的代码,一般在代码里面应该不会有人直接这么写的
「已注销」
2011-09-20
打赏
举报
回复
我没看清题目,呵呵。
连续写两个常量字符串,等于连接起来。
pengzhixi
2011-09-20
打赏
举报
回复
因为 标准规定了 "hello"" world"和"hello world"是一样的。
Alename
2011-09-20
打赏
举报
回复
没什么 ,只是一种写法罢了
「已注销」
2011-09-20
打赏
举报
回复
要转义。
用转义符 \
\\ = \
\n = 回车
\r = 换行
\t = 制表符
\xDD = ascii 字符,DD是16进制码
\DDD = ascii 字符,DD是8进制码
\0 = ascii 字符0
\" = "
\' = '
LENOVO_
2011-09-20
打赏
举报
回复
是有这样一种写法的。
printf(
"i"
"love"
"the"
"world"
);
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章