c语言自定义函数参数赋值 c语言自定义函数的用法

C语言问题编写赋值函数

#includestdio.h

创新互联-成都网站建设公司,专注成都网站建设、网站建设、网站营销推广,国际域名空间,网站空间成都网站托管有关企业网站制作方案、改版、费用等问题,请联系创新互联。

#includestdlib.h

int assignment(int *,int);

void print(int *,int);

void main()

{

int sz,rt;

int *p; //定义一个指针,在子函数里再动态分配内存

printf("输入data的数据元素个数:");

scanf("%d",sz);

rt=assignment(p,sz); //调用赋值函数

printf("数组最后元素为:%d\n",rt);

}

int assignment(int data[],int size) //按 Fibonacci 数列对数组元素依次赋值

{

int res;

data=(int *)malloc(size*sizeof(int));

if(size==1)

data[0]=1;

else if(size==2)

{

data[0]=1;

data[1]=1;

}

else

{

data[0]=1;

data[1]=1;

for(int i=2;isize;i++)

data[i]=data[i-1]+data[i-2];

}

print(data,size); //调用打印函数

res=data[size-1]; //最后一个元素是data[size-1]

free(data); //释放内存

return res;

}

void print(int data[],int size) //打印数组

{

for(int i=0;isize;i++)

printf("%d ",data[i]);

}

有注释的,不明白的再讨论

c语言如何调用自定义的赋值函数

在使用一个函数之前必须先对他进行声明:

//void B();声明B函数的存在。void A(){B();//非法,程序执行到此时并不知道B函数的存在。}void B(){}

或者

#include stdio.h

#include stdlib.h

#include math.h

int fa(int n)

{

int a;

for(a=2;a=sqrt(n*1.0),n%a!=0;a++);

if(asqrt(n*1.0))

return(1);

else

return(0);

}

void main( )

{

int n,q;

scanf("%d",n);

扩展资料

#include stdio.h

#include stdlib.h

#include math.h

int fa(int n)

{

int a;

for(a=2;a=sqrt(n*1.0),n%a!=0;a++);

if(asqrt(n*1.0))

return(1);

else

return(0);

}

void main( )

{

int n,q;

scanf("%d",n);

if(fa(n)==1)

printf("n");

else

printf("y");

system("pause");

exit(0);

}

参考资料:百度百科 - C语言函数

c语言关于函数为参数赋值的问题

void bar(int p) 是拷贝传递,函数内部的p与外面传入的j只是值相同,并不是同一个内存空间,你在函数内部赋值其实一点作用都没有。

void fun(int *p) 传递的是指针,你也可以连接是拷贝传递,但传递的是指针,所以在里面对*p操作就是于直接对传入的j的内存空间进行操作。

C++中可以改成 void bar(int p) 其他不用改,引用传递,这样就可以修改外面传入的数据了。


网页标题:c语言自定义函数参数赋值 c语言自定义函数的用法
文章转载:http://bzwzjz.com/article/doiegcj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 品牌网站建设 成都网站建设公司 成都网站设计公司 成都网站设计 网站制作 高端品牌网站建设 app网站建设 成都网站建设公司 网站制作报价 定制网站设计 企业网站设计 盐亭网站设计 成都网站制作 成都网站设计 达州网站设计 成都网站建设 泸州网站建设 成都网站建设 成都网站建设 成都定制网站建设 网站建设推广 成都网站制作公司