main(){
printf("%d %d",1234.5);
}
: 0 1,083,394,560기본 인수 추진 출력
이 플로트 변수 더블 먼저 %d
0을 표시하고 다른 하나로서 취급된다 기본 인자 프로모션의 경우와는 나머지 4 바이트의 값을 표시 1,083,394,560 익스플로러 .
내 질문은이 프로그램
main()
{
printf("%f",1234.5);
}
이 일 수 있습니다 않는 방법 %d
다음 처음 4 바이트를 읽는 경우입니다 오른쪽 출력. float도 4 바이트이기 때문에 %d
처럼 동작해야합니다.
나는 2 의사는 출력을 0 – som
다음 프로그램의 출력을 제공 shud 말하고 의미 : 주() { 의 printf ("% d 개 %의 F"를 4.0,4.0); } 출력 : 0 0.000000 왜 위 출력이 표시되고 있지만 나는 그것이 0이 될 것으로 기대합니다. 4.000000 – som
"4 바이트이기 때문에 동일해야합니다"와 같은 가정을 할 수 없습니다. 일부 호출 규칙은 부동 소수점 인수를 정수/포인터 인수에서 * 다른 위치 *에 넣거나 예상치 못한 방식으로 인수를 채 웁니다. –