当前位置:首页 » 编程语言 » c语言数组行列数为0
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数组行列数为0

发布时间: 2023-03-13 10:07:17

c语言里有没有把数组元素全部赋值为0的函数

方法一、在定义时赋初值

1、静态数组

int[3][3]={0};

2、动态数组

int**a=newint*[n];

for(inti=0;i<n;i++)

a[i]=newint[m](0);

方法二、在定义完后赋值

for(inti=0;i<n;i++)

for(intj=0;j<m;j++)

a[i][j]=0;

方法三、用一个循环吧数组所有元素设置为0:

intarr[100];

inti=0;

for(i=0;i<100;i++)

arr[i]=0;//ThiswillmakeallZERO

方法四、

1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么在运行前会变成全0。

intarr[1024];//Thisisglobal

intmain(void)

//statements

2、对于局部数组简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:

intmain(void)

intarr[1024]={0};//ThiswillmakeallZERO

//statements

3、可以用memset函数在程序开始时初始化数组。这条命令这在已经修改了数组之后又想将它重置为全0特别有用。

intarr[1024];

arr[5]=67;

memset(ZEROARRAY,0,1024);//ThiswillreinitializealltoZERO

Ⅱ c语言中为什么这个数组输出都是0

printf输出的时候,%lf 需要的是double 变量,不需要double指针,去掉&就可以

Ⅲ C语言如何定义0数组

是编译错误吧,你这里的n是个变量,到运行时才能确定,但数组在编译时就要确定长度,所以出错。建议这样#define N 100 再用N

Ⅳ 在我编写的C语言中,数组输出的结果为什么都为0望大神求解!

你要是输出元素地址,就把%lf改成%d 、%x、%p 你要是输出元素的值,就把&去掉
看你是输出元素值,那么就把&取地址符去掉

Ⅳ C语言如何让数组里所有元素都为0,不是清空数组元素

只需要初始化的时候,将初始化值设置为0即可。

int a[10] = {0};

测试程序如下:

#include<stdio.h>
intmain()
{
inta[10]={0};
for(intinx=0;inx!=10;++inx)printf("%d ",a[inx]);
printf(" ");
return0;
}

运行结果:

Ⅵ C语言中怎么令数组的一列为0

我给你拿二维数组举例吧。比如说一个3行3列的数组,要令第一列的元素为0 ,就可以这样设置num[i][0],其中i=0,1,2;如果要令第二列元素为0 ,num[i][1],其中i=0,1,2;第三列类推就可以了

Ⅶ c语言中怎么给一个行和列都是100的二维数组都赋0值

有两种方法可以做到。
一、循环赋值。
对每一项分别赋值为0。对于二维数组一般用双重循环,实际上用单重循环也可以,效率上并无区别。
参考代码:
TYPE a[100][100];
int i,j;
for(i = 0; i < 100; i ++)
for(j = 0; j < 100; j ++)//双重循环遍历。
a[i][j] = 0; //每个赋值为0。
二、整体置零。
在C库函数中,有memset这一个函数,形式为
/*
Set
N
bytes
of
S
to
C.
*/
void
*memset
(void
*s,
int
c,
size_t
n);
功能为,在地址s指向的内存单元开始,将c个字节的空间,每个都赋值为c。
这个函数是按字节赋值的,所以对于赋值0值,可以直接将整个内存空间清零。
参考代码:
TYPE a[100][100];
memset(a, 0, sizeof(a));//整体清0.
第一种方法更具通用性,后一种方法不是永远适合,但在可以用memset的情况下,后一种方法更高效。

Ⅷ c语言中怎么把一维数组初始化为全零啊,不用循环

下面3种方法:

1.int arr[10]={0};

如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0。因此,当只将第一个元素初始化为0时,编译器会自动将其他元素设为0 (就像前一句说的那样)。

2.int arr[31]={};

3.用memset函数在程序开始时初始化数组。比如:

int arr[1024];

memset(arr, 0, 1024); //清零

(8)c语言数组行列数为0扩展阅读:

memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度。

函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。

memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 ,它通常为新申请的内存做初始化工作。