如何在C中用printf显示int

Mor*_*ier -4 c printf

当我尝试使用printf()函数在C中显示int时,我遇到了一些奇怪的麻烦.这是我正在使用的代码

            printf("To compute pi enter n: ");
            int n_term = 1;

            printf("n: %d \n", &n_term); 
            scanf("%d", &n_term);
            printf("n: %d", &n_term);
Run Code Online (Sandbox Code Playgroud)

我意识到存在一个问题,因为当我尝试简单地将n_term打印回用户时,甚至在他们为n_term输入任何值之前,它就会出现这个巨大的数字,2686776.任何有关此问题的见解都会非常感激.我正在使用gcc编译器,如果这有任何区别.

Otá*_*cio 5

摆脱printf调用上的与号(&).您正在打印变量n_term的地址作为整数打印.

  • @JoachimOlsson实际上,没有任何东西可以投入任何东西; 代码没有强制转换也没有隐式转换; 作为回报,它有未定义的行为.printf可能会尝试将指针的按位表示重新解释(部分)为"int". (3认同)