
C语言 一行只能有一个预处理命令吗?
C语言中一行只能有一个预处理命令吗?预处理命令行是否一定要以#开头?预处理命令行可以和定义语句或可执行语句放在一行之中?...
C语言中 一行只能有一个预处理命令吗? 预处理命令行是否一定要以#开头?
预处理命令行可以和定义语句 或 可执行语句 放在一行之中? 展开
预处理命令行可以和定义语句 或 可执行语句 放在一行之中? 展开
4个回答
展开全部
在源文件的一行上可以有多条预处理指令。
预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符。
# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
C语言中#开头的是预处理指令,不是C语句的一部分#开头的语句,在预处理阶段,由预处理器处理。
例如:
#include预处理器会将stdio.h文件的内容加入到当前文件的头部,而#defineCONST10则会将文件中的CONST,用10代替(是直接代替)预处理完毕后,才对文件进行编译。
扩展资料
1、预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的,程序员在程序中用预处理命令来调用这些功能。
2、为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。
3、文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。
展开全部
C语言中 一行只能有一个预处理命令,预处理命令行一定要以#开头,但预处理命令的内容不一定每行以#开头
如:
#define MAX(a,b) \
((a)<(b)?(a):(b))
\ 在预处理命令里叫做续行符。
预处理命令行不可以和定义语句 或 可执行语句 放在一行之中
如:
#define MAX(a,b) \
((a)<(b)?(a):(b))
\ 在预处理命令里叫做续行符。
预处理命令行不可以和定义语句 或 可执行语句 放在一行之中
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在c语言中,我们常常是一行只写一个语句,这只是习惯的写法,你可以在行写多个语句,但是读起来就不好懂,没有良好的写程序的风格,别人看了也不容易明白,预处理命令可以在开头一行写多个,一定要以#开头,#是预处理命令的标示符,并且不能放在定义语句 或 可执行语句 放在一行之中,会被处理成宏命令或者造成程序错误,程序一般要先处理预处理命令,然后再开始执行程序
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言并不是一行只能有一个预处理命令。
比如:
#define COM(a,b) a##b
其中#define 和##都是预处理命令。
预处理语句必须单独成行。因为这些东西预处理的时候都是会去掉的。
比如:
#define COM(a,b) a##b
其中#define 和##都是预处理命令。
预处理语句必须单独成行。因为这些东西预处理的时候都是会去掉的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询