为什么我使用以下代码得到分段错误错误?

时间:2013-11-21 03:46:45

标签: c segmentation-fault

我是一名学习C的Python程序员。我在以下代码的最后printf()收到分段错误。我确定它与表达式有关,但我不确定问题是什么。不幸的是,该表达式在Python中工作,因此我无法获得更具体的错误消息。我在Debian中使用GCC编译器。

#include <stdio.h>

int main(void)
{

  int n;

  printf("Enter a two-digit number: ");
  scanf("%d",n);

  printf("The reversal is: %d\n", (n % 10) * 10 + (n / 10));
  return 0;
}

3 个答案:

答案 0 :(得分:2)

n的地址传递给scanf()

scanf("%d", &n);

答案 1 :(得分:0)

尝试scanf("%d",&n);

除非它有一个指向n

的指针,否则它无法将任何内容放入n中

答案 2 :(得分:0)

你需要提供一个指向int的指针作为scanf的参数,而不是int本身; &n而非n