条件编译,该怎么解决
条件编译C/C++ code#include stdio.h#define DEBUG OFF#if DEBUG ONint main(void){printf(ON)ret
条件编译
C/C++ code#include <stdio.h>#define DEBUG OFF#if DEBUG == ON int main(void) { printf("ON"); return 0; }#elif DEBUG == OFF int main(void) { printf("OFF"); return 0; }#else #error error!#endif
很奇怪为什么结果显示是ON呢?
而且#define DEBUG OFF这里我无论怎么改,显示的结果都是ON,为什么条件编译没有用呢
[解决办法]呵呵,多思考,有好处的!
[解决办法]少定义,能自己发现错误,就有更多收获。:)
[解决办法]输入一行字母字符,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。
#define LETTER 1
main()
{
char str[20]="C Language",c;
int i=0;
while((c=str[i])!='\0'){
i++;
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
printf("%c",c);
}
}
运行结果为:C LANGUAGE
[解决办法]Good~~~
[code=C/C++][/code]
#define ON 1
#define OFF 0