C语言 一行只能有一个预处理命令吗?

C语言中一行只能有一个预处理命令吗?预处理命令行是否一定要以#开头?预处理命令行可以和定义语句或可执行语句放在一行之中?... C语言中 一行只能有一个预处理命令吗? 预处理命令行是否一定要以#开头?
预处理命令行可以和定义语句 或 可执行语句 放在一行之中?
展开
 我来答
小夏聊生活
高能答主

2019-12-09 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114595

向TA提问 私信TA
展开全部

在源文件的一行上可以有多条预处理指令。

预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符。

# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

C语言中#开头的是预处理指令,不是C语句的一部分#开头的语句,在预处理阶段,由预处理器处理。

例如:

#include预处理器会将stdio.h文件的内容加入到当前文件的头部,而#defineCONST10则会将文件中的CONST,用10代替(是直接代替)预处理完毕后,才对文件进行编译。

扩展资料

1、预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的,程序员在程序中用预处理命令来调用这些功能。

2、为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。

3、文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。

Go浪人生
推荐于2018-03-13 · TA获得超过2471个赞
知道小有建树答主
回答量:738
采纳率:100%
帮助的人:896万
展开全部
C语言中 一行只能有一个预处理命令,预处理命令行一定要以#开头,但预处理命令的内容不一定每行以#开头
如:
#define MAX(a,b) \
((a)<(b)?(a):(b))

\ 在预处理命令里叫做续行符。
预处理命令行不可以和定义语句 或 可执行语句 放在一行之中
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友526fadc
2012-03-12
知道答主
回答量:16
采纳率:0%
帮助的人:7.7万
展开全部
在c语言中,我们常常是一行只写一个语句,这只是习惯的写法,你可以在行写多个语句,但是读起来就不好懂,没有良好的写程序的风格,别人看了也不容易明白,预处理命令可以在开头一行写多个,一定要以#开头,#是预处理命令的标示符,并且不能放在定义语句 或 可执行语句 放在一行之中,会被处理成宏命令或者造成程序错误,程序一般要先处理预处理命令,然后再开始执行程序
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zedongfeng
2012-03-03
知道答主
回答量:33
采纳率:0%
帮助的人:27.3万
展开全部
c语言并不是一行只能有一个预处理命令。
比如:
#define COM(a,b) a##b
其中#define 和##都是预处理命令。

预处理语句必须单独成行。因为这些东西预处理的时候都是会去掉的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式