搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求解释,这是为什么?(C语言笔试题)
标题:
求解释,这是为什么?(C语言笔试题)
只看楼主
血雨萧瑟
来 自:福州大学
等 级:
职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:9
求解释,这是为什么?(C语言笔试题)
#include <stdio.h>
#define ADD(x) x+x
int main()
{
int a=3,b=4,c=10,d;
d=ADD(a+b)*c;
printf("d=%d\n",d);
return 0;
}
搜索更多相关主题的帖子:
试题
include
return
C语言
2013-01-08 23:07
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
2
楼
得分:10
d=a+b+a+b*c
这是宏展开,,其他的你自己想吧
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-08 23:09
血雨萧瑟
来 自:福州大学
等 级:
职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
第
3
楼
得分:0
刚看了一下书明白了,老谭的第四版没有讲宏这个东东,老师也没说,原来这里头还有这么多道道。
新手初学,可以拍砖。
游戏不是猛虎,网络在怎么发展网游都不可能消失只会越来越像一个世界。
2013-01-08 23:15
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
得分:10
以下是引用
血雨萧瑟
在2013-1-8 23:15:00的发言:
刚看了一下书明白了,老谭的第四版没有讲宏这个东东,老师也没说,原来这里头还有这么多道道。
没讲你为什么要用?人家为什么不讲,你没问过老师?
授人以渔,不授人以鱼。
2013-01-08 23:15
血雨萧瑟
来 自:福州大学
等 级:
职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
第
5
楼
得分:0
都没接触到,要不是在网上找题还真不知道带参数的宏是什么
新手初学,可以拍砖。
游戏不是猛虎,网络在怎么发展网游都不可能消失只会越来越像一个世界。
2013-01-08 23:18
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
得分:0
以下是引用
血雨萧瑟
在2013-1-8 23:18:20的发言:
都没接触到,要不是在网上找题还真不知道带参数的宏是什么
不建议再使用的东西就不收在新版中,老师也不提,跑到网上专看几十年前的知识和编程习惯,你老师知道恐怕要吐血。
授人以渔,不授人以鱼。
2013-01-08 23:20
血雨萧瑟
来 自:福州大学
等 级:
职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
第
7
楼
得分:0
以下是引用
TonyDeng
在2013-1-8 23:20:27的发言:
不建议再使用的东西就不收在新版中,老师也不提,跑到网上专看几十年前的知识和编程习惯,你老师知道恐怕要吐血。
好吧,谢谢指导,原来如此。
新手初学,可以拍砖。
游戏不是猛虎,网络在怎么发展网游都不可能消失只会越来越像一个世界。
2013-01-08 23:21
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
8
楼
得分:0
那个宏,要预防这种展开错误,一般用括号括住后面的参数x,即(x)*(x),用括号来强制先求x的值。但这种宏函数只是假象,不是真正的函数,它缺乏类型检查机制,等于间接取消了C的强类型语言优势,当传入参数类型不符的时候,编译器是无法替你事先检查出来的,只能留到运行时抛出那个难看的对话框终止程序,更难收拾。在当今的编译器中,像这种小型函数都可以运用诸如inline那样的嵌入式函数来提高速度,同时又保留类型检查机制,早已不鼓励再写这种代码,那是三十年前流行的写法,在网上流传,很多把这些东西当秘笈一样修炼,害人害己。老谭的书不再收,老师也不提,自然有原因。
[
本帖最后由 TonyDeng 于 2013-1-9 00:28 编辑
]
授人以渔,不授人以鱼。
2013-01-08 23:32
血雨萧瑟
来 自:福州大学
等 级:
职业侠客
帖 子:155
专家分:320
注 册:2012-11-19
第
9
楼
得分:0
哦哦,原来如此,我们宿舍还为此讨论了大半天。郁闷
新手初学,可以拍砖。
游戏不是猛虎,网络在怎么发展网游都不可能消失只会越来越像一个世界。
2013-01-08 23:36
Susurrant
来 自:武汉
等 级:
论坛游民
帖 子:22
专家分:52
注 册:2013-1-7
第
10
楼
得分:0
以下是引用
TonyDeng
在2013-1-8 23:32:13的发言:
那个宏,要预防这种展开错误,一般用括号括住后面的参数x,即(x)*(x),用括号来强制先求x的值。但这种宏函数只是假象,不是真正的函数,它缺乏类型检查机制,等于间接取消了C的强类型语言优势,当传入参数类型不符的时候,编译器是无法替你事先检查出来的,只能留到运行时抛出那个难看的对话框终止程序,更难收拾。在当今的编译器中,像这种小型函数都可以运用诸如online那样的嵌入式函数来提高速度,同时又保留类型检查机制,早已不鼓励再写这种代码,那是三十年前流行的写法,在网上流传,很多把这些东西当秘笈一样修炼,害人害己。老谭的书不再收,老师也不提,自然有原因。
受教了!
effort ? succeed : retry ;
2013-01-09 00:26
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-395781-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.130562 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved