c语言,给一个不知道元素个数的数组的所有元素赋相同的值

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:13:32
怎么写,谢谢

void func(int a[],int n) /*a是不知道元素个数的整形数组,n是你要赋的值*/

{
int x,i;
x=sizeof(a)/2;
for(i=0;i<x;i++)
a[i]=n;
}
此函数可以实现你的目的~

可以利用系统函数memset(数组名,初值,sizeof(数组名));来整体赋相同的初值。

但是要注意:必须在程序开头引入头文件#include<memory.h>才可以使用系统中定义的memset函数。如同要使用sin()等数学函数时必须引入头文件#include<cmath>一样。

#include <stdlib.h>
#include <stdio.h>

void main()
{
int a[] = {2, 3, 4, 5, 6}, i;

/*将数组a的所有元素设置为20 */
for (i = 0; i < sizeof(a)/sizeof(a[0]); ++i)
{
a[i] = 20;
printf("%d ", a[i]);
}

putchar('\n');
system("PAUSE");
}

可以先用strlen求得长度吧,然后再赋值不就行了。