c语言用函数赋值吗 c语言怎么给函数赋值

C语言用函数实现数组赋值

如果你非要用指针的话,可以把数组的形式改写成指针的形式,就像一楼的

成都创新互联一直在为企业提供服务,多年的磨炼,使我们在创意设计,成都全网营销到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务成都多线机房手机APP定制开发、手机移动建站、网页设计、网络整合营销。

void Chg_Array(int array[], int size, int value)

{

int i;

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

*(array+i)=value ;

}

C语言中的函数赋值问题

#include

stdio.h

f(int

a,int

b,int

m){

//这个函数是个完全没意思的函数

m=a*b;

return

;

//原因在这

这里直接return了

没指明返回哪个变量

那它的意义就只是说f函数结束了

其实什么也没返回

}

void

main(){

int

m=1;

//这里对m赋值1

f(2,3,m);

//运算是完全没意思的运算

所以最后结果是1

printf("%d",m);

}

为什么运行结果是m=1?????

//

在f函数那

return

m

就能得到你想要的

不过要把主函数里的倒数3行改成

m=f(2,3,m)

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语言中输入函数赋值?

n = scanf("%d",n);

这一句有问题

1. scanf 函数是有返回值的,它的返回值可以分成三种情况

1) 正整数,表示正确输入参数的个数。

例如执行 scanf(“%d %d”, a, b);

如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量);

如果用户输入”3,4”,可以正确输入a,无法输入b,返回1(正确输入了一个变量)。

2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入”,3 4”,返回0。

3) EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。

你这个输入一个返回值就是1,因此n也会一直等于一

c语言中可不可以直接在函数首部直接给参数赋值

不明白你的意思……是不是类似于这样 int hello(char a,int i = 4,int m = 9){} ?

这样在c语言中是不可以的,这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例

hello(n); 默认i=4,m=9。 hello(n,5,23); 这里在函数中i = 5,m = 23.

就是说,如果调用时给参数赋值了,就使用赋值的,如果没有,就使用默认的

需要标明一点,这种函数参数表有个规则,就是所有的默认参数都靠后,即:int hello(int a = 1,int b,int c=23){} 是错误的……而且,使用时,也不可以跳过一个默认值给后面的值赋值,如:

int hello(char a,int b= 12,char c = 'd')如果想参数b使用默认而给c赋值,那么必须是hello(a,12,c),如果跳过赋值b,即:hello(a,c);就是错的,很好理解,这样就把c赋值给参数b了,一定报错。


本文标题:c语言用函数赋值吗 c语言怎么给函数赋值
文章分享:http://myzitong.com/article/dosdojp.html