묻고있는 것인지 확실하지 않습니다. 11을 인쇄하지 않은 이유는 무엇입니까? 또는 왜 다른 컴파일러에서 다른 대답을 인쇄 했습니까?.
다른 인쇄본이 설명한 것처럼 %d
은 부동 소수점을 인쇄하지 않으며 printf
호출에서는 전달 된 유형과 예상되는 유형 간의 불일치를 수정하는 자동 변환이 없습니다.
다른 컴파일러에서 다른 것을 인쇄 한 이유는 의 정의되지 않은 동작입니다. 이는 아무 일도 발생할 수 없음을 의미합니다. 휠에 올라갈 때까지 전방 휠에있는 모든 너트를 느슨하게 할 때까지 들어가서 고속으로 도로를 내리십시오. 은이 떨어지면 제어력이 떨어지고 충돌 할 수 있습니다. 도랑. 우연히 새 차를 가져 와서 내일 똑같은 일을한다고 가정 해 봅시다. 우연히 나무에 충돌하는 경우는 예외입니다. 이 시점에서 취할 수있는 두 가지 방법이 있습니다.
- 어떤 미묘한 요인으로 인해 하루에 도랑에 충돌하고 다른 날에는 나무가 깨지게 만드십시오. 왜 더 반복적이지 않았습니까?
- 다시 이와 같은 어리석은 실험을 시도하지 않기로 결심하십시오.
printf("%d",f);
다음 포맷에 의해 주어진 변환 지시자 (들)에 의해 지정된 printf
다른 매개 변수 (들)에 전달 : 변환 지정자 여기에서 변수의 타입간에 불일치가
참고 : C 컴파일러가 아닌 C++ 컴파일러를 사용하여 컴파일하고 있습니다. –