int main()
{
float a=4;
int b=2;
printf("%d\n",(a/b));
printf("%f",(a/b));
return 0;
}
Первый оператор printf снова печатает разные значения снова. Я знаю, что это потому, что я использую спецификатор% d для числа типа float. Но я не знаю, как работает. Кроме того, когда я меняюсь первую строку:Как этот код работает на самом деле?
int a=4;
то второе утверждение печати
0.000000
снова и again.Then почему это первая Printf в первом коде печати diffrent значения, но в второй оператор второго кода, он печатает одно и то же значение? Может ли кто-нибудь объяснить мне?
Можете ли вы вставить выходные данные? – Kunal
Использование% d для печати float вызывает неопределенное поведение. Поэтому, независимо от эффекта программы, это правильно. –