OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4399|回复: 8

问个简单的C语言问题

[复制链接]

11

主题

19

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2016-3-10
在线时间
10 小时
发表于 2016-3-21 13:18:00 | 显示全部楼层 |阅读模式
5金钱

比如定义了#define Init_Para 0
#ifdef Init_Para
allDataDefault();   
#endif



那么这个allDataDefault()函数会执行嘛。。。
#ifdef是用于判断是否进行定义了,还是判断后面的值是不是零呢 求解答谢谢~

最佳答案

查看完整内容[请看2#楼]

试试就好了撒 电脑上装个VC 随便用打印文字来操作下就行了 这就很明显了吧
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

69

主题

475

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1334
金钱
1334
注册时间
2013-12-28
在线时间
197 小时
发表于 2016-3-21 13:18:01 | 显示全部楼层
本帖最后由 jiaozhu 于 2016-3-21 18:35 编辑

试试就好了撒    电脑上装个VC    随便用打印文字来操作下就行了   QQ截图20160321183457.jpg 这就很明显了吧

回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
863
金钱
863
注册时间
2015-2-12
在线时间
354 小时
发表于 2016-3-21 14:00:19 | 显示全部楼层
1、#ifdef Init_Para ---是用于判断是否进行定义了, 函数参加编译
2、#if Init_Para      ---是用于判断(Init_Para == TRUE), 上情形,函数不参加编译。
3、像此类问题,请楼主自己动手实验一下,这样学习更得法。
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2016-3-21 14:29:16 | 显示全部楼层
是判断后面的值是不是零!
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2778
金钱
2778
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-3-21 14:51:15 | 显示全部楼层
likunxue 发表于 2016-3-21 14:29
是判断后面的值是不是零!

兄弟,不要乱说呀。。。我刚试了一下CCS,不知道Keil一样不,楼主最好还是自己试试吧,CCS里面只要我进行了宏定义,不管我宏定义给了1还是给了0,它都能进allDataDefault();

#ifdef Init_Para
allDataDefault();   
#endif
自在随心
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2016-3-21 15:30:36 | 显示全部楼层
yuzeyuan1 发表于 2016-3-21 14:51
兄弟,不要乱说呀。。。我刚试了一下CCS,不知道Keil一样不,楼主最好还是自己试试吧,CCS里面只要我进行 ...

哪是, 谢谢提醒
回复

使用道具 举报

4

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2016-3-18
在线时间
40 小时
发表于 2016-3-21 16:51:30 | 显示全部楼层
#ifdef是用于判断 Init_Para 是否定义了,如果是就执行下面的程序代码。如果不是直接跳#endif
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12059
金钱
12059
注册时间
2013-3-8
在线时间
1283 小时
发表于 2016-3-21 16:57:17 | 显示全部楼层
可以执行的!
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2016-3-21 17:59:13 | 显示全部楼层
#define ABC 1

如果定义ABC了,不管ABC=什么都执行ABC_FUN();  如下操作:
#ifdef  ABC
ABC_FUN();   
#endif

如果定义ABC了且当ABC=1时,执行ABC_FUN();  如下操作:
#if  (ABC==1)
ABC_FUN();   
#endif
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 00:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表