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

idl*_*age 1 c pointers scanf

C新手,我有这个功能:

void getNum(int *n) {
  scanf("%d", &n);
}
Run Code Online (Sandbox Code Playgroud)

在主要:

int main() {
  int someNum;
  getNum(&someNum);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

pb2*_*b2q 6

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

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