重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
专注于为中小企业提供成都网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业江山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
// 用于修改数组的函数
int change_array(int *num, int count)
{
int i,t;
for(i = 0; i count; i++)
{
t = num[i];
num[i] = t + 1;
}
}
int main()
{
int i, b[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 调用函数
change_array(b, 10);
// 输出结果
for(i = 0; i 10; ++i)
{
printf("%d ", b[i]);
}
}
小伙伴,没看懂你的意思,创建一个已经输入数据的函数?代码经过编译连接之后,就成二进制了,也就是固态形式,不可能再修改一个函数的功能了。
如果要是预留一个数据的值倒是可以的:
不直接对原来参数进行修改,用const,进行值传递,在函数中运算完成后return这个结果,在主 函数中用变量接收。
对原来值直接操作,参数传递一个指针,可以再使用前对这个值进行备份,或者在函数中定义一个变量对这个变量用参数进行赋值,return这个备份参数。
还有很多方法,这两种只是最简单的。
你不需要函数,只需要一个函数指针即可。
void B();
int main()
{
void (*p)() = B; //定义函数指针p指向函数B
p(); //调用p()就是调用B()
return 0;
}
不能,为了系统的可移植性,C语言系统函数是无法更改的,只能定义函数库没有的函数。