define函数块c语言 c语言define定义

c语言用#define定义函数块问题

把注释去掉即可,没有其它错误:

安阳县网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

//---------------------------------------------------------------------------

#include "stdio.h"

#define exchange(a,b) { int t;\

t=a;\

a=b;\

b=t;\

}

void main(void)

{

int x=10;

int y=20;

printf("x=%d; y=%d\n",x,y);

exchange(x,y);

printf("x=%d; y=%d\n",x,y);

}

//---------------------------------------------------------------------------

c语言用#define定义函数块简单问题

#define exchange(a,b) { \

int t;\

t=a;\

a=b;\

b=t;\

}

这里有个问题一定要注意:\后面要紧跟回车,不能有空格,去掉空格,就不会报错了

c语言c语言用#define定义函数块简单问题

exchange(x,y); 你试试改成exchange(x,y); ?

t=a应该没有错吧

c语言define用法是什么?

1、简单的define定义#define MAXTIME 1000

一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(iMAXTIME){.........}

编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。

这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤为突出。

2、define的“函数定义”

define可以像函数那样接受一些参数,#define max(x,y) (x)(y)?(x):(y);

这个定义就将返回两个数中较大的那个,看到了吗?因为这个“函数”没有类型检查,就好像一个函数模板似的,当然,它绝对没有模板那么安全就是了。可以作为一个简单的模板来使用而已。

C语言中无参宏定义的一般形式:

#define 宏名 字符串,其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。

例如: #define M (a+b) 它的作用是指定标识符M来代替表达式(a+b)。在编写源程序时,所有的(a+b)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用(a+b)表达式去置换所有的宏名M,然后再进行编译。


网站标题:define函数块c语言 c语言define定义
本文链接:http://pwwzsj.com/article/hphsgd.html