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  可以用來避免這種錯誤,同時在代碼中留下暫時不用,但可能有價值的代碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM