c语言 #if 和if的区别

#if后没有def什么的,而是一个条件公式然后就是#endif这种用法和直接用if有什么区别?... #if后没有def什么的,而是一个条件公式然后就是#endif
这种用法和直接用if有什么区别?
展开
 我来答
百度网友66ce6681f
推荐于2018-02-27 · TA获得超过240个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:270万
展开全部
有区别,#if 是预编译。#if如果不是真的话, 其后面的代码是不会被编译的。跟#ifdef 差不多,只是#if后面跟的是条件,而 #ifdef后面跟的是一个宏,判断其是否定义。
mafangsan
推荐于2018-09-22 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:3136万
展开全部
#if和if都是C和C++中的指令,但是二者区别很大。
1)#if属于条件编译技术,用于给编译器提供信息,控制有些代码变成机器语言
2)if属于程序判断,在程序运行时控制语句是否被执行;
3)#if在程序编译前执行,if在程序运行时执行;
4)#if后面不能写变量,if后面可以写变量。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhewlof365
2011-05-20 · TA获得超过1480个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:684万
展开全部
#if 与#endif是成对使用的,预处理
if则是普通的条件判断语句,判断后面紧跟的条件是否为真,为真则执行后面紧跟的语句

预处理不懂的话 很难明白的
到百度 输入 c语言 预处理 然后那个百度文库 挺不错的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2011-05-20 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:4144万
展开全部
前者是预处理阶段,后者是条件语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7cb764a
2011-05-20
知道答主
回答量:9
采纳率:0%
帮助的人:1万
展开全部
加#的都是编译预处理语句:
#if 表达式
#endif
表示的意思是如果if后面的表达式不为0的话就编译#if#endif之间的语句,否则就不编译。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式