当前位置: 代码迷 >> C语言 >> [求助] 怎样理解
  详细解决方案

[求助] 怎样理解

热度:225   发布时间:2006-10-13 19:42:00.0
[求助] 怎样理解
#include<stdio.h>
#define VAL1 1
#define VAL2 2
void main()
{
int flag;
#ifdef VAL1;
flag=VAL1;
#else
flag=VAL2
#endif
printf("flag=%d",flag);
}
划线表示什么?
搜索更多相关的解决方案: include  

----------------解决方案--------------------------------------------------------

有无人回题啊


----------------解决方案--------------------------------------------------------

问这样的东西,没人会管


----------------解决方案--------------------------------------------------------
你知道它是什么?
----------------解决方案--------------------------------------------------------
#ifdef 标识符;
程序段1;
#else
程序段2;
#endif
它的作用就是指若指定的标识符已经被定义过则只编译程序段1,否则则编译程序段2.
----------------解决方案--------------------------------------------------------
与if、if else有什么区别请说说
----------------解决方案--------------------------------------------------------
ifdef只对#define ...检查
----------------解决方案--------------------------------------------------------

详细说好吗?


----------------解决方案--------------------------------------------------------
按理说,你应该自己去看看书,书上写的很明白.
对条件编译:
程序中中所有行都参加编译,但有时希望对其中一部分内容只在满足一定条件才进行编译,也就是说对一部分指定编译的条件,这就是"条件编译".有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句.

----------------解决方案--------------------------------------------------------
这是条件编译啊 用法nuciewth已经讲过了

程序代码:
#include<stdio.h>
#define VAL1 1
#define VAL2 2
void main()
{
int flag;
#ifdef VAL1;//如果VAL1 前面被定义(即#define VAL1 1)过就执行下面的语句
flag=VAL1;
#else//没有被定义执行下面的语句
flag=VAL2
#endif
printf(\"flag=%d\",flag);
}


当然可以用if语句来代替,但条件编译增强了程序的通用性,对于不同的程序不需要改if执行后的语句秩序更改#define定义的东东就行
因为条件编译语句只检查#define的动作
----------------解决方案--------------------------------------------------------
  相关解决方案