Я знаю, что вы, как правило, не хотите погасить весь свой код, но это коротко и поможет с проблемой. Может кто-нибудь объяснить, почему вывод равен 0 и как я могу изменить код для вывода того, что должно быть объемом конуса.В C мой выход функции всегда равен 0,000000. Это потому, что два входа являются int?
#include <stdio.h>
float ConeVolume(int height, int radius);
float ConeVolume(int height, int radius)
{
float pi;
pi = 3.14159;
float third;
third = (1/3);
float vol;
vol = third * pi * radius * radius * height;
return vol;
}
int main()
{
float x = ConeVolume(12,10);
printf("%.4f \n", x);
}
Редактировать: спасибо всем, кто так быстро ответил. Отличная община здесь.
Скомпилируйте все предупреждения и информацию об отладке ('gcc -Wall -Wextra -g'). Затем используйте отладчик ('gdb') одним шагом вашей программы. Вы бы быстро нашли свою ошибку (быстрее, чем спрашивать здесь). –
Есть несчетные дубликаты этого на SO –