首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于符号“#”的用法解决方案

2012-02-11 
关于符号“#”的用法如下语句:#define S(num) printf(a#num%d,b##num)……请问符号“#”在这里是什么意思呢

关于符号“#”的用法
如下语句:
#define S(num) printf("a"#num"=%d",b##num)
……
请问符号“#”在这里是什么意思呢?函数printf在这里的语法规则又是怎样的呢?感觉很费解

[解决办法]
第一个#把后面的num变成字符串
加入你的输入时S(123), #num就是"123"

第二个##表示连接两个符号,例如你输入S(123),b##num就是b123

因此S(123)最终就是printf("a""123""=%d",b123)
其中前面三个字符串"a", "123", "=%d"会被连接成一个字符串

printf没有什么特别,就是普通的打印
[解决办法]
不明白,帮顶
[解决办法]
学 习
[解决办法]
学习。。。

探讨
第一个#把后面的num变成字符串
加入你的输入时S(123), #num就是"123"

第二个##表示连接两个符号,例如你输入S(123),b##num就是b123

因此S(123)最终就是printf("a""123""=%d",b123)
其中前面三个字符串"a", "123", "=%d"会被连接成一个字符串

printf没有什么特别,就是普通的打印

[解决办法]
说的很不错啊,简单来说就是"#"代表字符串,"##"代表连接字符。这个也算是C语言的隐晦语法了。
另外还有很多类似的高级技巧,需要工作中慢慢体会了。

探讨
第一个#把后面的num变成字符串
加入你的输入时S(123), #num就是"123"

第二个##表示连接两个符号,例如你输入S(123),b##num就是b123

因此S(123)最终就是printf("a""123""=%d",b123)
其中前面三个字符串"a", "123", "=%d"会被连接成一个字符串

printf没有什么特别,就是普通的打印

[解决办法]
探讨
第一个#把后面的num变成字符串
加入你的输入时S(123), #num就是"123"

第二个##表示连接两个符号,例如你输入S(123),b##num就是b123

因此S(123)最终就是printf("a""123""=%d",b123)
其中前面三个字符串"a", "123", "=%d"会被连接成一个字符串

printf没有什么特别,就是普通的打印

热点排行