C言語コンパイラの条件

する#include <stdio.hに> 
する#include <入出力ストリーム> 
の#define正しい"myfirst"
int型のmain(){ CHAR STR [ 10 ]; int型 FUNC(CHAR * 0009、CHAR * STR2); のprintf(" 出力お気に入り。 \ N- " ); scanfの(" %のS "STR); // 定義されていない場合は、正しいマクロ名は、以下に定義されて#ifndefのCORRECT の#define CORRECT"テスト" #endifの// CORRECT IF(FUNC(STR、 CORRECT)== 0 ){ printf関数は、("N \ありがとう " ); } { のprintf(" 申し訳ありませんが\ N- " ); } システム(" PAUSE " ); 戻り 0 ; } int型 FUNC(CHAR * 0009、CHAR * STR2){ リターンのstrcmp(STR1、STR2); }

さらに、定義されていない場合、マクロの存在かどうかを決定します。

。1はなぜか - ここで私は、「私の最初は」スペースがあった場合、どんなにI入力、常に=(FUNC(STR、CORRECT)を取得しない正しいの#defineを定義するときに、私が思う、問題が発生しましたあなたは、文字列にスペースを持つことが許されるべき?

第二の方法:

する#include <stdio.hに> 
する#include <iostreamの>
 に#define 1ラウンド
 の#define PI 3.14 INT のmain(){
     int型A、B、
     ダブルC; 
    A = 2 
    B = 3 ;
 // 場合ROUND 1、ラン次の文の#if ROUND 
    C =(+ B)* PI * 2 ; 
    のprintf(" %.2f \ N- " 、C);
 //は、そうでない場合は、次のステートメントを実行します#ELSE 
    C = + B;
 #endifの
    システム(" PAUSE "



);
    リターン 0 ; 
}

要約だけがブロックの条件を満足できるようにすることができ、ソースコードをコンパイルするために、条件付きコンパイルを使用して、ターゲットプログラムは、それによってプログラムの効率をオーバーヘッドメモリを減らし、改善、より短い生成します。

おすすめ

転載: www.cnblogs.com/xiximayou/p/12128965.html