![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
奔跑的小刺猬
欲速则不达
展开
-
do { }while(0)的妙用
1.避免空的宏定义在声明时出现警告。#define FUNC #define FUNC do{}while(0)2.避免出现歧义代码#define FUN1(x) x=1;x++;if(...) FUNC1();else FUNC2();上面的宏展开后就成了下面这样,很明显和写代码时的语义不符。if(...) x=1;x++;else FUNC2(...原创 2018-06-30 17:48:30 · 2182 阅读 · 0 评论 -
用C语言写自己的printf函数
第一部分分析首先看一下printf函数的原型声明:int __cdecl printf(const char * __restrict__ _Format,...); 上面这个是我在Dev-C++上复制过来的函数声明,其实无论是哪个版本声明部分作用都是一样的。接一下我们看一下printf的返回值是什么玩意? 上图就是我自己实际测试得出来的一个结果。6621! ...原创 2016-11-04 17:23:28 · 32256 阅读 · 22 评论