当我想运行下面的代码时,我得到以下错误。

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/

10-11 22:53
查看更多