www问答网
所有问题
c语言中宏定义的嵌套和递归
在看我姐姐的C程序设计那本书的时候,看到预处理命令中的宏定义那一块,她写了一条笔记“宏定义可嵌套不可递归”,这句话是什么意思?能详细说明一下么?
最好再举出例子
举报该问题
推荐答案 2013-02-22
可以嵌套:#define a bb(不能是aa)
#define bb 123
预编译时a会变为123
不可递归:#define c 1+c
或#define c 1+b
#define b 1+c
预编译时c会变成1+1+1+1+1+......无限循环
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/G1343Gnn3.html
其他回答
第1个回答 2013-02-22
就是宏里边可以嵌套宏例如:
#ifdef AA
……
#ifdef BB
……
#endif
……
#endif
递归?谁会拿宏来递归呢
也许不是这个意思也许是说这个吧:
#define a aa;
#define aa 1;
可嵌套是指这个意思吧;
不可递归就是不能定义回去吧,比如说:
#define a aa;
#define aa aaa;
#define aaa a;
第2个回答 2013-02-22
在C语言中宏是用来加载代码的,是一个单独的程序处理的。
比如,#define f(n) n==0? 1:f(n-1)+f(n-2)
当n=5时,就会被展开为
f(n-1)+f(n-2);
之后f(n)就找不到了,所以无法实现递归。
相似回答
请问下
c语言中
函数
的嵌套和递归
怎么区别
答:
区别:函数
嵌套
是
语言
特性,
递归
调用是逻辑思想。这两者有关,但并不互斥。一个递归过程可以包含函数嵌套。同样,一个递归函数也可当做是自身嵌套函数。函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数:func1(){ func2();} func2(){ func3();} func3(){ printf("Hello");} 这个...
请问下
c语言中
函数
的嵌套和递归
怎么区别
答:
在C/C++中,函数可以
递归
调用,也可以
嵌套
调用。递归调用是指自己调用自己,而嵌套调用是指两个或多个函数间相交叉互调用。递归调用时,函数自身必须更改返回(结束)条件,否则就会进入死循环,而嵌套调用就没有这样的要求,与普通函数一样,完成指定操作后正常返回即可。
c语言中嵌套
调用
和递归
调用的区别
答:
一、作用不同:函数
嵌套
允许在一个函数中调用另外一个函数,比如有三个函数 例:funca() { funcb(); } funcb() { fun
cc
(); } funcc() {cout << "Hello" <<endl; }这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是
语言的
特性。
递归
调用是一种解决方案,在程序中,递归函...
C语言的
函数
嵌套
调用与函数
递归
调用有什么区别
答:
区别:函数的
嵌套
调用是指在一个
C语言
函数里面在执行另一个函数,这样通常称为函数的嵌套调用。而函数的
递归
调用,一般指的是这个C语言函数调用自己本身的函数也就是说调用函数的函数体是一样的,这样称为递归调用。
函数
嵌套
是指 ,
递归
是指 。
答:
1、嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用。嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。一个为大家所熟知的例子就是qsort函数会将一个比较器cmp作为参数.又如图1中所示的公式使用了
嵌套的
AVERAGE 函数,并将...
c语言中的
函数可以
嵌套
调用也可以
递归
调用,这句话对吗?
答:
这句话是不对
的
。嵌套是两种结构间的关系,而不是函数间的关系。递归是一个函数调用自身,可以看作是一个函数调用另一个函数中的较特别的例子。函数
嵌套与递归
调用的区别函数嵌套是
语言
特性,递归调用是逻辑思想。
谁能帮我分别举一个例子,是关于函数
的嵌套
调用
和递归
调用的(要每一步...
答:
函数嵌套调用:在被调函数中再调用其它函数称函数嵌套调用。◆
C语言
不能
嵌套定义
函数。例如:在下列调用f1函数中调用f2函数。float f1(int a, int b){ …f2(a+b,a-b);…} int f2(int x, int y){ …} 调用过程如图7.2所示。【例7.10】求1k+2k+3k+…+nk
的
值,假设k为4,n为6。i...
为什么“
C语言
既可以
嵌套定义
又可以
递归
调用”是错
的
?
答:
C语言
可以递归调用,但是(函数)不能
嵌套定义
。例如:int fact(int n){ if (n == 0) return 1; else return n * fact(n - 1);}图中
的递归
调用是允许的。而:void foo(){ void bar() { // Some code }}这样在函数内定义函数是不允许的。不过结构体是可以嵌...
什么叫做
嵌套
调用?什么叫做
递归
调用
答:
所谓嵌套调用就是在一个函数中调用其他函数的过程叫做函数
的嵌套
。C++中函数
的定义
是平行的,除了main()以外,都可以互相调用。函数不可以
嵌套定义
,但可以嵌套调用。比如函数1调用了函数2,函数2调用了函数3,这便形成了函数的嵌套调用。
递归
调用:在调用一个函数的过程中又直接或间接第调用该函数本身的...
大家正在搜
宏定义里面嵌套宏定义
C语言宏定义能否嵌套
c函数既可以嵌套定义又可递归调用
函数的嵌套和递归调用
递归调用和嵌套调用的区别
c语言函数的递归调用
c语言宏定义函数
c语言取消宏定义
函数的嵌套调用与递归调用
相关问题
C语言问题:嵌套还是递归
c语言中,函数的嵌套调用称作递归?
c语言,函数的嵌套调用与递归函数的章节内容的实验题目
c语言中嵌套调用和递归调用的区别
"C语言中,函数的嵌套调用称作为递归"这句话对吗?
C语言for循环中嵌套递归函数,for只执行了最后一次
谁能帮我分别举一个例子,是关于函数的嵌套调用和递归调用的(要...
C语言,减式还原。。样例是多层循环嵌套,我想用递归简化,但没...