C語言 條件編譯的格式
條件編譯一般有三種格式:
(1)#if的一般格式
#if表達(dá)式
程序段1
#else
程序段2
#endif
作用:當(dāng)指定常量表達(dá)式的值真(非0)時,編譯程序段1,否則編譯程序段2。表達(dá)式可以由程序設(shè)計(jì)人員設(shè)計(jì),以達(dá)到編譯不同程序段的目的。
程序段可以是語句或語句組,也可以是命令行。
【例題】實(shí)現(xiàn)條件編譯
實(shí)現(xiàn)編譯一個程序的兩個程序段。這兩個程序段分別是:將字符串中所有的小寫字母改為大寫字母;將字符串中所有的大寫字母改為小寫字母。
算法分析:
設(shè)置一個符號常量,當(dāng)符號常量為1時,編譯將小寫改為大寫的程序段;當(dāng)符號常量為0時,實(shí)現(xiàn)編譯將大寫改小寫字母的程序段。
程序如下:
#include <stdio.h>
#deflne FLAG 0
void main()
{
char s [80];
int i;
gets(s):
#if FLAG
for(i=0;s[i]!*=*0;i++)
if(s[i]>'a' && s[i]<'z')
s[i]=s[i]-32;
#else
for (i=0;s[i]!=0;i++)
if(s[i]>'A' && s[i]<'Z')
s[i]=s[i]+32;
#endif
puts(s);
}
程序運(yùn)行,輸入:
ABCDEFG
輸出結(jié)果為:
Abcdefg
將符號常量FLAG的值改為1,再運(yùn)行,查看運(yùn)行結(jié)果。
點(diǎn)擊加載更多評論>>