I want to write a C program that evaluates the factorials of the integers from 1 to 5 and print them in a tabular format. However, I keep getting a strange number over everythin
When using printf
(and related output functions), the %d
format specifier expects an int
as the corresponding argument. In your printf("%d\t %d\n", &x, &factorial);
you are passing the addresses of the x
and factorial
variables.
So, just remove the two &
(address of) operators: printf("%d\t %d\n", x, factorial);
!
You are possibly being confused by the fact that, for scanf
(and other input functions), the %d
specifier requires a pointer to its target variable.