请检查我的代码中的整数增量错误
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));
这里我编写了一段代码,用于从用户那里接受一个整数并使用指针将其全局增加一个。
#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));