得意的屁 发表于 2016-6-28 20:15:00

求教 S1E5 课后题 不懂 请师兄见图片

求教 S1E5课后题 不懂 请师兄见图片

人造人 发表于 2016-6-28 21:02:15

怎么了?答案是对的呀

得意的屁 发表于 2016-6-29 07:25:36

人造人 发表于 2016-6-28 21:02
怎么了?答案是对的呀

答案对 字好像打错了宇宙字符
我打算一年打完十万行代码 结果昨天一算   一天要打三百多行。。。。。。。。

得意的屁 发表于 2016-6-29 07:34:53

人造人 发表于 2016-6-28 21:02
怎么了?答案是对的呀

师兄好发错了 发错了我是没理解 为什么
#define F(n)2*n
F(3+2) == 2*3+2       n 只表示第一位么?我们的数学 2*n   2*3+2*2么

人造人 发表于 2016-6-29 12:16:31

注意,这只是宏替换

$ cat test.c
#include <stdio.h>

#define F(n) 2*n

int main()
{
        F(3+2);
        F(3 + 2);
        F(abc+123);
        F(0zt6]-[80);
        F(hello+word);
        F(hello world);
        F(HelloWorld);
        F("Hello World");

        return 0;
}

$ gcc test.c -E
...
...(这里只显示后面几行,前面的省略了)
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;


extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
# 938 "/usr/include/stdio.h" 3 4

# 2 "test.c" 2



int main()
{
2*3+2;
2*3 + 2;
2*abc+123;
2*0zt6]-[80;
2*hello+word;
2*hello world;
2*HelloWorld;   
2*"Hello World";

return 0;
}

注意,只是把括号中的所有东西放在n的位置

得意的屁 发表于 2016-6-29 21:17:01

人造人 发表于 2016-6-29 12:16
注意,这只是宏替换

$ cat test.c


谢谢师兄 祝师兄晚上做个好梦!!!
最后一句看明白了   只是把括号中的所有东西放在 n 的位置
页: [1]
查看完整版本: 求教 S1E5 课后题 不懂 请师兄见图片