位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 條件編譯的格式

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-01

條件編譯一般有三種格式: 

(1)#if的一般格式

#if表達(dá)式 

    程序段1 

#else

    程序段2

#endif

    作用:當(dāng)指定常量表達(dá)式的值真(非0)時(shí),編譯程序段1,否則編譯程序段2。表達(dá)式可以由程序設(shè)計(jì)人員設(shè)計(jì),以達(dá)到編譯不同程序段的目的。

    程序段可以是語句或語句組,也可以是命令行。

【例題】實(shí)現(xiàn)條件編譯

    實(shí)現(xiàn)編譯一個(gè)程序的兩個(gè)程序段。這兩個(gè)程序段分別是:將字符串中所有的小寫字母改為大寫字母;將字符串中所有的大寫字母改為小寫字母。

    算法分析:

    設(shè)置一個(gè)符號常量,當(dāng)符號常量為1時(shí),編譯將小寫改為大寫的程序段;當(dāng)符號常量為0時(shí),實(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é)果。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部