#if,#endif,!defined的意义和用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#if,#endif,!defined的意义和用法相关的知识,希望对你有一定的参考价值。

    #if (**)
  语句##;
  #endif
  如果(**)为真,也就是逻辑1,的话就编译下面的语句。如果(**)不为真。则不编译下面的语句。
  和if else相仿。
  !defined在一般情况下是这样用的吧:
  #if !defined **
  语句;
  #endif
  它的意思是,如果在程序中没有对**进行过#defined ** 的定义。则编译下面的语句,否则不编译。这中情况多用在需要经常移植的程序模块上,或是调试的时候用,比如说上面...中的语句是调试时用的,但调试完成后不用它了,那么就可以用这个了。
  这些在C语言的书中都有,条件编译。
参考技术A

    它的意思是,如果在程序中没有对**进行过#defined ** 的定义。则编译下面的语句,否则不编译。这中情况多用在需要经常移植的程序模块上,或是调试的时候用,比如说上面...中的语句是调试时用的,但调试完成后不用它了,那么就可以用这个了。也许你会说,删了不就是了吗?可是如果...里面有很多语句的时候,还有你希望再次阅读程序时还看到这些信息。

    #if defined(symbol) 属于宏定义的一部分

    #if defined(symbol) //如果symbol没有被定义。#ifdef symbol //则定义symbol

    等价于:#if !defined(symbol)。#ifndef symbol //不定义symbol

参考技术B #if (**)
语句##;
#endif
如果(**)为真,也就是逻辑1,的话就编译下面的语句。如果(**)不为真。则不编译下面的语句。
和if else相仿。
!defined在一般情况下是这样用的吧:
#if !defined **
语句;
#endif
它的意思是,如果在程序中没有对**进行过#defined ** 的定义。则编译下面的语句,否则不编译。这中情况多用在需要经常移植的程序模块上,或是调试的时候用,比如说上面...中的语句是调试时用的,但调试完成后不用它了,那么就可以用这个了。也许你会说,删了不就是了吗?可是如果...里面有很多语句的时候,还有你希望再次阅读程序时还看到这些信息,呢?
呵呵,这些在C语言的书中都有,条件编译。本回答被提问者采纳

if 和swirch,break的用法

1.

#include<stdio.h>

#include<stdlib.h>

enum 家庭成员{父亲=100,母亲=200,我=300};//也可以放在void main(){里面}//define 父亲 100;define 母亲 200;define 我 300如果不赋值就是0,1,2

void main(){

家庭成员 l_当前成员=100//不成立,因为限制了赋值,如果必须赋值要 改成 __asm{ move ptr dword [ebp-8],100} 用汇编才可以突破

}

 

2.

#include<stdio.h>

#include<stdlib.h>

void main(){

int l_中奖号码=0;

scanf("%d",& l_中奖号码);

else if(l_中奖号码==100){

printf("特斯拉跑车");

}

else if(l_中奖号码==101){

printf("苹果三件套");

}

else if(l_中奖号码==102){

printf("华为M9");

else if(l_中奖号码==103){

printf("爱玛电动车");

else if(l_中奖号码==104 || l_中间号码=105){

printf("500元现金");

else if(l_中奖号码==106)

printf("100元充值卡");

else if(l_中奖号码==107)

printf("50元充值卡");

else{

printf("很遗憾,你没有中奖");

}

printf("\n");

system("pause");

}

 

3.

 

#include<stdio.h>

#include<stdlib.h>

void main(){

int l_中奖号码=108;

switch(l_中奖号码){

case 100:

printf(“特斯拉跑车”);//可以夹杂if表达式

break;//类似jump

case 101:

printf(“苹果三件套”);

break;

case 102:

printf(“华为M9”);

break;

default:

printf("很遗憾,你没有中奖");

}

printf("\n");

system("pause");

}

4.

#include<stdio.h>

#include<stdlib.h>

void main(){

for(i=1; i<5;i++){

if(i<5){

break

}

printf("%d\n",i)

}

system("pause");

}

 

以上是关于#if,#endif,!defined的意义和用法的主要内容,如果未能解决你的问题,请参考以下文章

一个小程序猿思考之路-头文件中#ifndef/#define/#endif作用和用法

C中预定义标识符define include undef ifdef ifndef endif line 的用法以及意义?最好带例子

关于C语言中#if的用法

C语言中#if,#if defined ,#ifdef,extern的用法描述

#ifndef #define #endif 的用法

#ifndef.#define, #endif 的用法