Как работает эта программа? - PullRequest
88 голосов
/ 04 марта 2010
#include <stdio.h>

int main() {
    float a = 1234.5f;
    printf("%d\n", a);
    return 0;
}

Отображает 0 !! Как это возможно? В чем причина?


Я специально поместил %d в оператор printf, чтобы изучить поведение printf.

Ответы [ 13 ]

0 голосов
/ 04 марта 2010

эй, он должен был что-то напечатать, поэтому он напечатал 0. Помните, что в C 0 все остальное!

0 голосов
/ 04 марта 2010

Вы хотите% f, а не% d

0 голосов
/ 04 марта 2010

Это не целое число. Попробуйте использовать %f.

...