c语言接收数组
‘壹’ c语言 要从键盘接收数组的元素个数存放到m,值存放到数组a里去
要猛洞从键盘接收数组的元素个数存放到m,值存放到数组a里去:
int a[100]; 定义一个较信知裤大长度的数组即可;
printf(“请输入数组a的长度”);
scanf(“%d”,&m);
printf(“请输入数组a的数据元素”);
for(i=0;i<m;i++) //输入m个元素,存放在a数组中
scanf(“%d”,&a[i]);
for(i=0;i<m;i++) //输出a数组滑简中的值,供检查
printf(“%d”, a[i]);
‘贰’ C语言如何如何传递数组
现在我们来看看,C语言如何如何传递数组。
首先,我们可以在参数中直接写数组加【】。
我们也慎帆可以给他写简孝粗上下标。
同时,还可以以指针形式传拦镇递。
如果是二维数组,列下标一定不能省略。
但是,定义的时候,不可以用变量来声明元素。
运行测试,我们会发现可以正常运行。
‘叁’ C语言如何利用指针接受二维数组实参
1、通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上。之后就可以通过二维指针直接访问了。
2、例程:
#include<stdio.h>//输入输出头文件。
#include<stdlib.h>//本程序需要用到malloc/free函数,引用该头文件。
intmain()
{
inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};//定义二维数组a,并赋值从1-12.
int**p=NULL;//定义二维指针。
inti,j;
p=(int**)malloc(sizeof(int*)*3);//要访问的数组有三行,所以申请三个一维指针变量。
for(i=0;i<3;i++)
{
p[i]=a[i];//将二维数组行地址赋值到对应的一维指针上。
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d",p[i][j]);//用指针输出元素。p[i][j]这里也可以写作*(*(p+i)+j)。
printf(" ");//每行输出后加一个换行
}
free(p);//释放申请的内存。
return0;
}
‘肆’ C语言中如何用gets();语句来接收一个二维数组
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的谨悄空间足够大,以便在执行读操作时不发生溢出。从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘ ’空字符,并由此来结束字符串。
因为祥则渣gets函数是以换行符为分隔,所以用一层循环即盯仔可读取一个二维数组。对于每行字符串,使用sscanf读取每个数。
例如:
chars[100];
inta[3][3],i;for(i=0;i<3;i++){
gets(s);
sscanf(s,"%d%d%d",s[i],s[i]+1,s[i]+2);
}
‘伍’ C语言变长数组如何实现(接收用户数据的数组)
你的想法是可以的。
实际上C提供一个标准的库函数可以实现这个功能。
void *realloc(void *mem_address, unsigned int newsize);
譬如:
int *p = malloc(sizeof(int)*3);
p[0]=0;p[1]=1;p[2]=2;
p = realloc(p, sizeof(int)*4);
这贺消迅个时候,p指向的前三个int的值还是1、2、3,而且可以对桥态第四个int赋值了。realloc会自动把原来的数据复制到新禅此的内存空间上去。
‘陆’ c语言中怎么接收一的数组,在写程序前不知道这数组的大小,并且后面有对这数组的操作!!!
接受数组的方法很多1维数组a[]你可以逗旦困
func(int *a);
func(int a[]);
func(int a[10]);
这3中方法的是没区别的,
但是要在函数中获取一位数组的长度是山念不可能的,这是C/C++的一个无法解决的问题。你可以再定义一迟培个形参限定一下对数组操作的大小,
比如func(int *a,int N);
这样的前提是你要知道你所操作数组必须长度小于N
‘柒’ C语言 要从键盘接收数组的元素个数存放到m,值存放到数组a里去
要从键盘接收数组游乱的元素个数存放到m,值存放到数组a里去:神兆档
int
a[100];
定义一个较猜卖大长度的数组即可;
printf(“请输入数组a的长度”);
scanf(“%d”,&m);
printf(“请输入数组a的数据元素”);
for(i=0;i<m;i++)
//输入m个元素,存放在a数组中
scanf(“%d”,&a[i]);
for(i=0;i<m;i++)
//输出a数组中的值,供检查
printf(“%d”,
a[i]);
‘捌’ C语言中用结构体数组来接收结构体数组
用 元埋纳伏素 赋茄培值 元素,
相同结构体 元素 可弯携以互相直接赋值,
struct names a, b;
...
a = b;
‘玖’ C语言:如何用数组接受文件的内容
题手冲目不够详细。毕雀歼
我这里提供一个思路。
一、打开这个文件,并确定这个文件的大小(FILE_SIZE);
二、动态创建一个和这个文件一样大(或者比这个文件岁森大)数组;
三、把文件的内容读到这个数组中,操作这个数组;
四、将结果回写到这个文件中。