#include<stdio.h>
int main()
{
struct byte
{
int one:1;
};
struct byte var = {1}; // statement A
printf("%d", var.one);
return 0;
}
ここで、私は整数変数 'one'のビットメモリを1に限定していることを前提としています。それは0と1だけを格納することができ、 'ステートメントA'ではこの変数を '1'で初期化しました。 '1'はまだメモリにビットを保持できますが、コンソールには-1が表示されます。どんな助け?なぜこのコードの-1を印刷するのですか?ビットフィールドが1に設定されていると、1になるはずです。
問題が解決した場合は、緑色のチェックマークをクリックして回答を受け入れたものとみなしてください。 –