90.#define高级用法
define把参数变成字符串#define f(x) printf("%s",#x);
define连接两个字符串#define a(x) a##x
define把参数变成字符#define N(x) #@x
取消#define的作用域#undef MN //取消define的作用域
define内联函数#define run() {puts("锄禾日当午1") ;\
puts("锄禾日当午2");\
puts("锄禾日当午3");}
define定义assert
- assert用法
1 assert(a = 0);
- 宏定义assert
1 #define ASSERT(x) \
2 if((x))\
3 { \
4 printf("ASSERT %s 代码出错\n",#x) ; \
5 printf("文件%s %d行\n",__FILE__,__LINE__) ; \
6 printf("函数%s \n",__FUNCTION__) ; \
7 abort(), getchar();\
8 return ; \
9 }
- #ifdef,#error用法
#ifdef N
#error 错误,不能定义N
#endif
#if用法#if num==1
#error 小伙子你的除数不要写为0,写了哥会溢出的
#endif- 内置宏定义__LINE__,__FILE__,__DATE__,__TIME__,__FUNCTION__
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#line 1
void main() //计数,从这一行开始
{
//改变行数,某一段到某一段一共多少行
printf("%d\n", __LINE__);
char path[];
//获取当前文件地址
sprintf(path, "%s", __FILE__);
printf("%s", path);
getchar();
}1 printf("代码编译时间 %s %s\n", __DATE__, __TIME__);
printf("函数名%s\n", __FUNCTION__);
- 条件编译 #if #else #endif
#include<stdio.h>
#define findWC 10
void main()
{
#if findWC==1
printf("拉");
#else
printf("憋");
#endif
getchar(); }#if #elif #endif
// 'b'北京 's'四川, h 菏泽 a美帝
#define manspeak 'b' void main3()
{ #if manspeak=='b'
puts(" love you 1314");
#elif manspeak=='h'
puts("俺很稀罕你");
#elif manspeak=='a'
puts("i love you for ever");
#elif manspeak=='s'
puts("老子喜欢你,不喜欢我,你仙人板板的");
#endif }#ifdef #ifndef
#ifdef Debug
printf("love you");
#endif #ifndef test
printf("没有定义test");
#endif
90.#define高级用法的更多相关文章
- #define命令的一些高级用法
=========================================================== define中的三个特殊符号:#,##,#@ ================= ...
- Visual Studio 宏的高级用法
因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ...
- break 的一个“高级用法”(转)
转载:http://blog.csdn.net/lovelan1748/article/details/5321558 本小节不是很适于没有多少实际编程经历的初学者,所以初学者可以跳过,以后再回头阅读 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- Python3基础-高级用法
写在前面:本文主要是python高级练习部分,介绍了一些高级用法,这些都是零散的小知识,这些可以与函数式编程合在一起使用. 函数式编程1:Python中提供的函数式编程主要有: map(函数,可迭代式 ...
- Python之Requests的高级用法
# 高级用法 本篇文档涵盖了Requests的一些更加高级的特性. ## 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个Session实例发出的所有请求之间保持cookies. 会话对象 ...
- sed高级用法:模式空间(pattern space)和保持空间(hold space)
摘自:https://blog.csdn.net/ITsenlin/article/details/21129405 sed高级用法:模式空间(pattern space)和保持空间(hold spa ...
- Go template高级用法、深入详解、手册、指南、剖析
入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}. <!DOCTYPE html> <html> <head> <m ...
- ConxtMenu高级用法
##背景我们经常在列表的页面中,点击列表中的行,一般进入详情页面,长按列表中一行,会弹出一个菜单,包含了对某一行的操作(编辑.删除等等),也知道通常的用法: 0x01. 在Activity中注册需要上 ...
随机推荐
- 微信小程序官方文档中的加密算法
用Nodejs来算一下:
- nodejs操作文件和数据流
前言 node中有一组流api,它们可以像处理网络流一样处理文件.流api用起来非常方便,本节学习介绍文件处理基础和流的概念. 目录 处理文件路径 fs核心模块简介 操作流 慢客户端问题 1. 处理文 ...
- tensorflow学习之路----保存和提取数据
#保存数据注意他只能保存变量,不能保存神经网络的框架.#保存数据的作用:保存权重有利于下一次的训练,或者可以用这个数据进行识别#np.arange():arange函数用于创建等差数组,使用频率非常高 ...
- Centos6.5 安装lnmp环境
最近项目要配置在nginx上,所以搜索了下具体nginx的安装,看到这篇文章简洁明了而且测试成功就借用了,作品出处:http://www.cnblogs.com/xiaoit/p/3991037.ht ...
- 彻底解决Linux索引节点(inode)占用率高的告警
今天邮箱里发现有一封某服务器inode使用率发生告警的邮件 登录到服务器上df -i查看,发现/路径下91%,磁盘使用率却不高,猜测可能是某个目录下的小文件过多,进而造成inode占用率过高,但不清楚 ...
- Android学习总结(2)——App客户端与服务器交互中的token
学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...
- ASP.NET中的几种弹出框提示
B/S不像C/S那样一个MessageBox就可以弹出提示框,不过可以通过js的“Alert”来弹出消息,或者通过一些变种的js方法.下面我给大家介绍几种,希望大家喜欢. 四种弹出框代码: prote ...
- sendfile复习
之前有一篇文章: http://www.cnblogs.com/charlesblc/p/6341605.html 今天又看到其他的一篇: http://www.cnblogs.com/fengyv/ ...
- tsp问题——遗传算法解决
TSP问题最简单的求解方法是枚举法. 它的解是多维的.多局部极值的.趋于无穷大的复杂解的空间.搜索空间是n个点的全部排列的集合.大小为(n-1)! .能够形象地把解空间看成是一个无穷大的丘陵地带,各山 ...
- HDU4009 Transfer water 【最小树形图】
Transfer water Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) T ...