홍정모의 따라하며 배우는 C언어 정리

printf( ) 함수가 인자들을 해석하는 과정

채고루 2023. 2. 23. 16:09

float의 경우, 4바이트지만 복사되는 과정에서 printf( ) 함수가 8바이트 double로 바꿔서 저장 

※오류난 부분 분석※

- 13번째 줄

n1은 float, %d는 4바이트이기 때문에 n2에 맞지 않음, 연쇄적으로 오류값이 저장되기 때문에 n3도 오류 발생

 

- 14번째 줄

%lld는 8바이트이나 n1, n2의 데이터형에 맞지 않는 변수, 앞의 데이터 크기가 맞고 정수를 나타내는 %d를 써서 n3만 올바르게 출력

 

- 15번째 줄

%f로 n1에 맞는 데이터형, %d는 n2의 데이터형과 데이터크기에 맞지 않음, n3은 n2의 데이터크기 오류로 오류 발생

 

- 16번째 줄

%f로 n1에 맞는 데이터형, %lld는 데이터 크기는 맞지만 실수에 맞지 않는 데이터형, 앞에서 데이터 크기를 맞췄기 때문에 %d로 표현한 n3는 올바르게 출력