请检查我的代码中的整数增量错误

Please check the error in my code for increment of an integer

这里我编写了一段代码,用于从用户那里接受一个整数并使用指针将其全局增加一个。

#include <stdio.h>
#include <stdlib.h>

int inc(int *a)
{
    *a=*a+1;
    return *a;
}

int main()
{
    int a;
    int *p;
    scanf("%d", &a);
    p=&a;
    printf("%d\n", inc(*p));
    printf("%d", a);
}

但是当我 运行 程序并为 a 输入一个值时,它终止而不给出任何输出。请指出错误之处,帮助改进代码。

在这个函数的调用中inc

printf("%d\n", inc(*p));

您传递的是 int (*p) 类型的对象,而不是函数声明所要求的指针

你需要写

printf("%d\n", inc(p));