当我想运行下面的代码时,我得到以下错误。
Enter number1
4
Segmentation fault (core dumped)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p1;int *p2;
int n;
printf("Enter number1\n");
scanf("%d",p1);
printf("Enter number2\n");
scanf("%d",p2);
printf("sum:%d\n", (*p1 + *p2));
return 0;
}
最佳答案
代码中的更改包括将声明更改为int而不是*int,并使用&
将指针传递给这些变量:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int p1;int p2;
int n;
printf("Enter number1\n");
scanf("%d",&p1);
printf("Enter number2\n");
scanf("%d",&p2);
printf("sum:%d\n", (p1 + p2));
return 0;
}
关于c - 使用指针加数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19611542/