C语言关于函数的小问题,麻烦各位解决一下,谢谢

#include "stdio.h"
void Sum();
void main()
{
Sum();
int x=10,y=20;
Sum(x,y);//它提示这里有错误
printf("x的值等于:%d\n y的值等于:%d",x,y);

}
void Sum(int num1,int num2)
{
//交换值
int temp=num1;
num1=num2;
num2=temp;
}
Sum(x,y);//它提示这里有错误
谢谢大家了

函数Sum你是先使用再定义的,这个时候就要声明 就是你第一次出现sum那不对 就是函数的声明格式不对,声明应该是要带参数的

两个错误
:函数声明错误应该“:void Sum(int *,int *);
函数功能错误没有变化应改为指针形式调用时使用Sum(&x,&y):,。2

void Sum(int num1,int num2)
->
void Sum(int& num1,int& num2)
不然交换无效。

Sum();不能这么写,没有没有参数的重载,删除。

#include "stdio.h"
void Sum();
void main()
{
int x=10,y=20;
Sum(x,y);
printf("x的值等于:%d\n y的值等于:%d",x,y);

}
void Sum(int num1,int num2)
{
//交换值
int temp=num1;
num1=num2;
num2=temp;

}还是不行

将void Sum() 改为 void Sum(int ,int)即可

我已经打出来了 谢谢各位啦

c 语言是值传递,交换函数里的交换不能反映到外面
使用指针

使用指针形参或者引用形参。。。