重複の可能性:
Cでのマクロ定義エラー?
私はプログラミングに不慣れで、誰かがこれを手伝ってくれることを願っています:
なぜそれは出力を与えるのですか:5。
コードスニペットは次のとおりです。
#include <stdio.h>
#define max 5;
int main(){
int i=0;
i = max+1;
printf("\n%d",i);
return 0;
}
重複の可能性:
Cでのマクロ定義エラー?
私はプログラミングに不慣れで、誰かがこれを手伝ってくれることを願っています:
なぜそれは出力を与えるのですか:5。
コードスニペットは次のとおりです。
#include <stdio.h>
#define max 5;
int main(){
int i=0;
i = max+1;
printf("\n%d",i);
return 0;
}
マクロにはセミコロンがあるためです。コードは次のものと同等です。
i = 5; + 1;
マクロからセミコロンを削除します。
重要なポイントは
#define max 5;
プリプロセッサで置き換えると、これは次のようになります。
i = 5; +1;
これは変数に5を割り当てますi
(式+1;
は効果がありません)。
あなたは書く必要があります
#define max 5
マクロ定義の後にセミコロンがあるためx=