c语言 怎么把一个二维数组初始化为空

#include<stdio.h>#include<stdlib.h>intmain(void){charq[3][3]={0};q[0][1]='c';q[0][2]=... #include<stdio.h>
#include<stdlib.h>

int main(void)
{
char q[3][3]={0};
q[0][1]='c';
q[0][2]='b';
for(int i=0; i<=2; i++)
{
for(int j=0; j<=2; j++)
{
printf("%c",q[i][j]);
}
printf("\n");
}

system("pause");
return 0;
}
输出结果是:
abc
aaa
aaa
还有有什么办法能把二维数组一下都输出吗?或者一行一行的输出
展开
 我来答
听不清啊
高粉答主

2015-09-18 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
利用给数组赋值时未赋值部分C系统自动赋值为0是一种方法。

还可以利用memset()函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在string.h和mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
void *memset(void*,int,unsigned);
其中void*表示起始地址,int 表示要填充的值,最后的unsigned表示填充的字节数。

例如:
#include<string.h>
void main()
{
int a[10][20]={0}; //方法一,所有初始化为0
int *p[10][20]={NULL};
char c[10][20]={'\0'};

double b[50][200]};
memset(b,0,sizeof(b)); //方法二,所有初始化为0
}
oolgloo
推荐于2018-02-27 · TA获得超过2636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:663万
展开全部

初始化二维数组可以试试

char q[3][3]={{0}};

或者

#include <string.h>
memset(q, 0, sizeof(q));

输出没有很好的方法,你可以封装一个函数。以后都用这个函数输出。

function printArray2(arr, row, col)
{
  for(int i=0; i<=row; i++) {
     for(int j=0; j<=col; j++) {
        printf("%c",arr[i][j]);        
     }        
     printf("\n");    
  }
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用QQ名居然违规
2013-10-30 · TA获得超过1110个赞
知道小有建树答主
回答量:1057
采纳率:50%
帮助的人:423万
展开全部
main()
{char q[3][4]={"abc","def","ghi"};
printf("%s\n",q);
printf("%s\n",q[2]);
printf("%c\n",q[1][2]);
getch();}

 

追问
谢谢了,不过试了下printf("%s\n",q);好像不能一下全部输出?
还有我想把这个二维数组初始化为空,应该怎么办?方便加一下扣吗?
追答
用memset()将一个数组初始化

memset(q,'x',sizeof(q)); 数组初始化为全x
字符串数组需要一个结束符'\0' 所以这个方法很少用在char数组上,当然可以手动补上
q[2][3]=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萧风随月
推荐于2016-03-03 · TA获得超过1138个赞
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:115万
展开全部
第一个数组a[100][100],把这个数组清空可以用俩种方法:
1. 用for循环逐个清零
for(i=0;i<100;i++)
for(j=0;j<100;j++)
a[i][j]=0;
2. 用<memory.h>或<string.h>里的memset函数
memset(a,0,sizeof(a));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7f0d649
2013-10-30
知道答主
回答量:10
采纳率:0%
帮助的人:16.8万
展开全部
清空的话有个方法,memset(q, 0, sizeof(q))。应该是这样的,没有测试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式