#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 语言是值传递,交换函数里的交换不能反映到外面
使用指针
使用指针形参或者引用形参。。。