189 8069 5689

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://cdxtjz.com/article/doiegcj.html

其他资讯