Dividing 1/n always returns 0.0 [duplicate]
问题 This question already has answers here : C program to convert Fahrenheit to Celsius always prints zero (8 answers) Why does division result in zero instead of a decimal? (5 answers) Closed last year . I am trying to calculate p1=(1/1)*(1/2)*...*(1/n) but something is wrong and the printf gives me 0.000...0 #include <stdio.h> int main(void) { int i,num; float p3; do { printf ("give number N>3 : \n" ); scanf( "%d", &num ); } while( num <= 3 ); i = 1; p3 = 1; do { p3=p3*(1/i); printf( "%f\n",p3