Why am I getting a strange number in this code?

后端 未结 5 1340
甜味超标
甜味超标 2021-01-28 11:20

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

5条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-28 12:02

    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.

提交回复
热议问题