タグ付けされた質問 「implementation-defined-behavior」




6
値をビットフィールドに割り当てても同じ値が返されないのはなぜですか?
このQuoraの投稿で以下のコードを見ました。 #include <stdio.h> struct mystruct { int enabled:1; }; int main() { struct mystruct s; s.enabled = 1; if(s.enabled == 1) printf("Is enabled\n"); // --> we think this to be printed else printf("Is disabled !!\n"); } CとC ++の両方で、コードの出力は予想外です。 無効になっています !! あの投稿には「サインビット」に関する説明が載っていますが、どうやって設定したのか、そのまま反映されないのか分かりません。 誰かがより詳細な説明をすることはできますか? 注:両方のタグc & C ++それらの標準はビットフィールドを記述するためにわずかに異なるため、必須です。C仕様およびC ++仕様の回答を参照してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.