C 语言中#if 0

Posted 生成风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言中#if 0相关的知识,希望对你有一定的参考价值。

  在C语言中有条件编译指令,常见的有:

  #define 定义宏
  #undef 取消已定义的宏  
  #if 如果给定条件为真,则编译下面代码
  #ifdef 如果宏已经定义,则编译下面代码
  #ifndef 如果宏没有定义,则编译下面代码  
  #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写
  #endif 结束一个#if……#else条件编译块
  #error 停止编译并显示错误信息

#if 0....#endif 的例子

#include <stdio.h>

int main()
{
#if 0
	printf("this is never here!\n");
#endif
	printf("#if .....#endif 之间的语句永远不会被执行!\n");
	return 0;
}

  

  在涉及到C语言的项目时,可能有人会注意到里面出现了#if 0这样的语句,既然里面的语句永远不会被执行,那为什么要留下这样的代码呢?

看下面的例子:

#include <stdio.h>
int main
{
/*
  int a=1;
     /*int b=2;*/
  int c=3;      
*/
return 0;  
}

  这样的代码在编译的时候会出错,因为/*   */  跟最近的匹配,所以出现了错误。使用#if 0  .....#endif  可以用来避免这种错误,同时在代码中留下暂时不用,但可能有价值的代码。

 

以上是关于C 语言中#if 0的主要内容,如果未能解决你的问题,请参考以下文章

C 语言中#if 0

C语言项目贪吃蛇游戏(下)

在c语言里,if (x)等价于if (x!=0)、if (!x)等价于if (x==0)吗?

c语言中if语句条件为赋值语句

C语言反转单向链表的代码

C语言 (条件编译#ifdef#ifndef) (#if 常量,#if 1,#if 0)的用法