c语言传值的问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:46:27
#include<stdio.h>
void test();
int test1();
void main()
{
test();

}
void test()
{
int a;
a=10;

printf("%d",test1(a));

}
int test1(int &i)
{
int b;
b=i;
return b;

}
编译时怎么老是说无法接受他一个参数啊

如果你是说C,那的确不能用引用,如果你用的是C++,那么问题还在于你声明函数的时候没有参数,但是调用和定义的时候却给了参数,所以正确程序应该是这样:
#include<stdio.h>
void test();
int test1(int &i);
void main()
{
test();
}
void test()
{
int a;
a=10;
printf("%d",test1(a));
}
int test1(int &i)
{
int b;
b=i;
return b;
}

运行环境:visual c++6.0

C语言不支持传引用,请将引用改为指针:
int test1(int &i)
{
int b;
b=i;
return b;
}
改为
int test1(int *i)
{
int b;
b=*i;
return b;

}

printf("%d",test1(a));
改为
printf("%d",test1(&a));