다음 C 코드가 있습니다. 구조체 - 출력을 설명하십시오 :
struct values{
int a:3;
int b:3;
int c:2;
};
void main(){
struct values v={2,-6,5};
printf("%d %d %d",v.a,v.b,v.c);
}
내가 코드를 실행
, 나는 다음과 같은 출력을 얻고있다 :2 2 1.
그러나 출력이 오른쪽 2 -6 5
해야 하는가?
내가 잘못하면 설명해주십시오.
비트 필드에 익숙합니까? (: 3 등) – doctorlove
OS X의 Clang 컴파일러는 나에게 멋진 경고를줍니다 : * "int에서 bitfield 로의 암시적인 절사는 -6에서 2 [-Wconstant-conversion]"값을 변경합니다. –