1

私は C でプログラムを書いていますが、いくつかの問題に直面しています.定数を定義する場合 (たとえば # MAX 100 を定義する)、プログラムでその値を変更することはできますか?? メインでは、たとえば MAX=5 と書きましたが、プログラムを実行すると、次のように表示されます。

4

4 に答える 4

2

2 つの異なる MAX があるため、次のコードの方が適切に機能します。

const int cond1_max = 100;
const int cond2_max = 5;
int my_max = 0;              // whatever works for you

そして、次のように最大を初期化します。

if(cond1)
    my_max = cond1_max;
else if(cond2)
    my_max = cond2_max;
else {
    // your backup plan
}
于 2013-11-15T08:36:01.213 に答える
2

#undefとit を再度使用して、マクロを再定義できます#define。特にヘッダーファイルで行う場合はお勧めしません(#includeヘッダーファイルに新しいマクロが含まれているため、ヘッダーファイルを間違った順序でインクルードすると、とにかく間違った値になります)。

于 2013-11-15T08:31:15.407 に答える
1

多分あなたはこのコードを使うことができます。

#ifdefine MAX 
    #undefine Max 
    #define MAX 5
     ---Your code---
    #undefine MAX 
    #define MAX 100
于 2013-11-15T08:55:05.053 に答える
0

マクロはこのように使用しないでください。これが変数ではなくマクロである理由です。

必要なのはグローバル変数 ( http://farside.ph.utexas.edu/teaching/329/lectures/node19.html ) です。

于 2013-11-15T10:16:37.663 に答える