-6
次のコードについては、'#define'をトークンと見なすことができますか?プリプロセッサディレクティブをトークンと見なすことはできますか?
#define int char
main(){
int i=65; // i is initialized
printf("sizeof(i)=%d",sizeof(i));
}
次のコードについては、'#define'をトークンと見なすことができますか?プリプロセッサディレクティブをトークンと見なすことはできますか?
#define int char
main(){
int i=65; // i is initialized
printf("sizeof(i)=%d",sizeof(i));
}
ISO C規格が明示的c11 6.4
で、例えば、トークンが存在するかを呼び出します:だから
token:
keyword
identifier
constant
string-literal
punctuator
preprocessing-token:
header-name
identifier
pp-number
character-constant
string-literal
punctuator
each non-white-space character that cannot be one of the above
、いいえ、#define
はトークンではない、それは、2の前処理トークンです#
およびdefine
という識別子を含む。
6.4.2.1
という識別子で、基本的には[_A-Za-z][_A-Za-z0-9]*
と定義されています。
宿題は –
申し訳ありませんが試してみる必要がありますので、私はこの質問をトピックとして締め切りますが、これは宿題問題ではありません。 –
それは2つの前処理トークン、 '#'と 'define'です –