[1792] Re:char hoge = 'A';
投稿者:(ぱ)こと管理人
2012/02/21 03:15:15
すみません、しばらくここを放置してしまいました。
>C言語において、文字定数は1バイトの表現に収まることが保証されていますが、
>たとえば'A'が200のような値をとっていけないことはないですよね。
>すると、charがsignedな処理系で char hoge = 'A'; と書くと、未定義動作になるのでしょうか?
'A'自体の型はintですので、普通にintからsigned charへの型変換と考えると、
X 3010:2003の6.3.1.3によれば
>そうでない場合,すなわち,新しい型が符号付き整数型であって,値がその型で表現できない場合は,
>結果が処理系定義の値となるか,又は処理系定義のシグナルを生成するかのいずれかとする。
なので、処理系定義ですかね。