大一新生,求解编程为什么会出现“-858993460"的结果。
问题是要用指针,使输入的两个数求和并交换位置。没有报错,但是结果,交换位置没问题,
求和就显示"sum=-858993460",
请各位大神帮忙解答下疑问,谢谢。
程序如下:
#include<stdio.h>
void swap(int a,int b,int c)
{
int t;
t=a;
a=b;
b=t;
c=c;
}
void sum(int a,int b,int c)
{
c=a+b;
}
void main()
{
int a,b,c;
void (*p)(int,int,int);
scanf("%d%d",&a,&b);
p=sum;
(*p)(a,b,c);
p=swap;
(*p)(a,b,c);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}