면접 문제: 구조체
560 단어 면접 문제
다음 프로그램의 출력 결과는 얼마입니까?
#include <stdio.h>
#include <string.h>
typedef struct{
int a:2;
int b:2;
int c:1;
}test;
int main(){
test t;
t.a=1;
t.b=3;
t.c=1;
printf("%d
%d
%d
",t.a,t.b,t.c);
return 0;
}
결과:
1
-1
-1
분석:
inta:2는 a가 2위, 즉 2진법 a=01을 차지하므로 출력 1
b는 두 자리를 차지하고 b=11이지만%d 출력이기 때문에 먼저 b를 32비트 int형으로 전환한다. 가장 높은 위치가 1이기 때문에 기본적으로 마이너스이기 때문에 11111111111111111111111111111111111111111111111111111111111111111111
즉 -1, c 유사
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그래머 면접에서의 다중 스레드 문제 요약wait ()/notify ()/notify All () 의 모든 방법을 호출할 때, 현재 라인이 이 대상의 자물쇠를 얻지 못하면, Illegal MonitorState Exception의 이상을 던집니다. Thre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.