C语言宏定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言宏定义相关的知识,希望对你有一定的参考价值。
对一个c语言进行编译预处理时,可检查宏定义的语法错误。为什么是错的
楼主看看书,仔细看看编译预处理都做了哪些事情。程序设计语言的预处理的概念:在编译之前进行的处理。 C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。
宏定义又称为宏代换、宏替换,简称“宏”。预处理制作单纯的宏展开,并不是检查语法错误,所说义是错误的。
语法错误都是编译阶段才检查的。预处理是不检查的。 参考技术A 宏定义又称为宏替换,c语言中的宏定义只是简单的字符串替换而已。
比如
define
n
1000
在程序中遇到n就自动把n替换成1000,n不是一个变量,不能赋值。
如果你写n=1;
相当于写1000=1;
这编译是通不过的,所以你使n的值改变是做不到的。
n只是一个要被替换的记号而已,连变量也不是。 参考技术B 你指的?:是三目运算符。那个就是比较大小,举个例子A>B?A:B,A>B成立整个式子的值就是A反之为B,这个你应该懂吧!若真是那些双目运算符你不懂,那就去好好重新在看遍书啊,那是基础中的基础
PR(x<y?x++:y++);/*这个是因为++的问题,++在后意思是先把值赋给x,然后在进行加1*/
PR(
y
);这行y不是等于2吗?
输出怎么是3
最后一行
PR(
y
);又得4。这是因为y有进行++计算 参考技术C 1.不需要加分号。
2.它和头文件是同一个意思,在程序预处理时处理。宏的作用就是防止出错,一改全改。不用在程序中逐一修改,降低错误。 参考技术D 贴图,不然谁知道为什么错的
以上是关于C语言宏定义的主要内容,如果未能解决你的问题,请参考以下文章