问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++函数里面可以使用宏定义吗

发布网友 发布时间:2023-08-09 22:15

我来回答

2个回答

热心网友 时间:2024-11-29 10:02

函数里可以使用宏,但一般写程序都放在前面。如果放在函数里则宏的作用域较小,在定义宏之前不能使用该宏,而且改变该宏的值时不容易找到。
例:
#include "iostream.h"
int Fun(int a);//函数声明
int main()
{
int a;
a=2;
cout<<a<<endl;
a=Fun(a);
cout<<a<<endl;
return 0;
}
int Fun(int a)
{
#define AAA 5;
a=AAA;
return a;
}
结果为:
2
5
所以说在函数中可以使用宏。
再如:
#include "iostream.h"
int Fun(int a);//函数声明
int main()
{
int a;
a=2;
cout<<a<<endl;
a=AAA;//****在该处使用宏提示没有定义********
cout<<a<<endl;
return 0;
}
int Fun(int a)
{
#define AAA 5;
a=AAA;
return a;
}
所以函数中定义的宏的作用域较小,只有在定义的后面可以使用。
总结:建议写程序时把用到的宏都放到前面,而且该变宏的值时也很容易找到。

热心网友 时间:2024-11-29 10:02

一般都是在函数外定义,中函数里定义作用域小,有可能会重名,不提倡
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求大学生谈恋爱的各种弊端 大学生恋爱的利大于弊吗? 大学生谈恋爱的弊处 dnf现在站街16000的物攻 增加100物攻能张多少 家里养的蚕宝宝是要蜕皮了吗 富贵包硬和软的区别 【已完成】为什么腋窝突然有异味? 女生为什么有狐臭症状? 为什么会狐臭 万视宝这个牌子是做什么的?有人了解嘛? 考研的准备时间是多久呢? 紫薇绿尾大蚕蛾的毛有毒吗 蚕蛾的毛有没有毒? ...翅膀上还有粉,挺大只的,这是什么蛾?有毒吗? 求助大神WORD2003或者WPS2012的里面的问题!!!急急急! 怎么在word2003插入一个“·”符号 新的一天开始经典说说图片大全 2023问候早安的最新句子 田螺肉直接喂小鸭可以吗 用二度春造句(大约30个左右) ...钱?2021永泰能源的第一季度报?今日永泰能源股票新动向? 爱奇艺会员可以转赠吗? 蚂蚁为什么会集体死亡。 冰箱如何除霜?怎么给冰箱除霜? 中国海洋大学的制药工程专硕怎么样啊,和学硕的差距是不是很大啊_百度知... 既然很多元素能进行核聚变,为何人类只造了氢弹,而不造别的弹,如氮弹... 元旦晚会哪个省份最好看 怎样打开开四次方根号? 银行卡不进不出,可以消户吗 Excel2016中按照一定顺序进行数据排列的是? 2017邯郸成人高考试卷哪有? 老板喜欢什么样的小三 11月14日45分钟化学11页: 2.火箭新兵“长三丙”第三级推进器使用的燃... 【高中化学】帮忙卡一下这道题,拜托拜托~~~ 断刺李赫男死没死 thinkpad e420开机静音,按一下F3就有了 E420开机必须按下FN+F3的组合键才会有声音?已前不这样,突然这样了... 您好,我的thinkpad e420 1141 ab6 声卡驱动都正常,听歌的时候忽然没声... thinkpad e420突然没声音,什么也听不到 可以跨省存钱吗? 可以跨省存钱么? 跨城市可以存钱吗? 制药工程用日语考研的双非好考吗 制药工程考法学难吗 沉默的墓穴财宝是怎样被发现的? 枞阳县到山东省金乡县多少公里 从山西长治市到山东日照市有多少公里 浙江省绍兴市距山东省巨野县有多少公里 Java静态变量重新new会释放原来的空间吗? 打捞沉船的物理知识