警告:格式'%d'需要类型'int *',但参数2的类型为'int **'

时间:2012-10-14 03:29:11

标签: c pointers scanf

C新手,我有这个功能:

void getNum(int *n) {
  scanf("%d", &n);
}

主要是:

int main() {
  int someNum;
  getNum(&someNum);
  return 0;
}

这个错误的'int **'部分究竟来自哪里,以及我如何传递内容还存在其他问题?

1 个答案:

答案 0 :(得分:6)

唯一的问题是将&n传递给scanf:n已经是一个指针,所以你的scanf调用正在传递指向该指针的指针,因此警告。

使用:scanf("%d", n);