나는 C Programming Language, 2nd Edition을 읽음으로써 C를 배우려고합니다. 나는 약간의 프로그래밍 경험을 가지고 있지만 C.% d가 printf에서 사용될 때 float 변수는 어떻게됩니까?
와 나는 제 1 장에서 현재 아니에요 나는 다음과 같은 코드가 있습니다 :
A: 0.000000 B: 0.15
A: 1.100000 B: 1.25
A: 2.200000 B: 2.35
:
float f;
for (f = 0.0; f <= 3; f += 1.1)
printf("A: %3f B: %6.2f\n", f, f + 0.15);
그것은 출력을 인쇄 괜찮아.
이printf("A: %3d B: %6.2f\n", f, f + 0.15);
새로운 출력
A: 0 B: 0.00
A: -1610612736 B: 0.00
A: -1610612736 B: -625777476808257557292155887552002761191109083510753486844893290688350183831589633800863219712.00
여기에 무슨이다 다음과 같이
는 지금은 printf와 변경? % d를 사용했기 때문에 float가 int로 변환 될 것으로 예상되지만 그 일은 발생하지 않았습니다. 또한, 왜 B 값이 잘못 되었습니까? 여기 무슨 일이 있었던거야?
int로 변환하라는 요청을하지 않았지만 ** int!라고했습니다. 쓰레기 입력, 쓰레기 출력. –