不可思议的#define

简介: 不可思议的#define
< DOCTYPE HTML PUBLIC -WCDTD HTML TransitionalEN>
#include "stdio.h"
#define f(x) x*x
int main(void)
{   
int i;
i=f(4+4)/4;
printf("%d",i);
return 0;
}

输出为21

 

#define为宏替换

i=4+4*4+4/(2+2)=21

相关文章
课外闲谈3.define与typedef的区别
第一行中的宏定义的意思就是将INT_PTR这样的一个符号代替int*,所以在这里,b只是一个普通变量。
133 0
课外闲谈3.define与typedef的区别
|
C++ 编译器
C/C++中#define的探究
一. #define简介 1. #define命令是宏定义命令,主要在预编译的时候进行字符替换,把宏名用宏体进行替换 2. 预编译的主要工作主要是进行代码文本的替换工作,用于处理#开头的指令,包括#Include、#define、#ifdef、#endif等等,预编译的工作只是纯粹的替换与展开,没有任何的计算功能 二. #define命令的缺陷 1. 无法进行类型检查。
1023 0
|
编译器 C语言
#define简单妙用
1:__FILE__,__LINE__,宏展开,中间层宏 __FILE__是编译器预定义宏,表示此文件的绝对路径,但是ASCII字符。 假如你想将__FILE__转换成宽字符。
948 0
|
C语言
嵌入式C语言基础:一文读懂#define与typedef的区别
嵌入式C语言基础:一文读懂#define与typedef的区别
170 0
|
编译器 C语言
初识C语言系列-5-完结篇-#define,指针,结构体(一)
初识C语言系列-5-完结篇-#define,指针,结构体
初识C语言系列-5-完结篇-#define,指针,结构体(一)
|
存储 编译器 C语言
初识C语言系列-5-完结篇-#define,指针,结构体(二)
初识C语言系列-5-完结篇-#define,指针,结构体
初识C语言系列-5-完结篇-#define,指针,结构体(二)
|
编译器 C语言
C语言进阶教程(还在乱用define和typedef吗)
C语言进阶教程(还在乱用define和typedef吗)
109 0

热门文章

最新文章