C语言如何让二维字符数组全部被初始化为同一个值
我定义了一个100*100的二维数组,然后我写的是charqipan[100][100]={'M'}:,然后DEVC++就报错,怎样用简单的方法让这个数组中所有元素都初始...
我定义了一个100*100的二维数组,然后我写的是char qipan[100][100]={'M'}:,然后DEVC++就报错,怎样用简单的方法让这个数组中所有元素都初始化为'M'呢?一定要用双重for循环赋值吗?
还有 printf("Now it's A's turn and please input the row and line.");这句话他也要报错!!
书上就这么写的,编译器居然报错!! 展开
还有 printf("Now it's A's turn and please input the row and line.");这句话他也要报错!!
书上就这么写的,编译器居然报错!! 展开
11个回答
展开全部
C语言让二维字符数组全部被初始化为同一个值步骤如下:
1、定义二维数组的方法和一维数组相似,如:int a[3][3],就是定义了一个3行3列的二维数组。
2、这个3行3列的二维数组是逻辑上的概念,能形象的表示出行列关系。而在内存中,各元素是连续存放的,不是二维的,是线性的。
3、二维数组的初始化,可以分行给元素赋值。
4、可以对部分元素赋值,例如:int a[3][3]={{1},{4},{7}}。
5、也可以只对某几行赋值,例如:int a[3][3]={{1,2},{4}}。
6、如果对全部元素都赋初值,则定义数组时可以对第一维的长度不指定,但第二维的长度不能省去,也可以只对部分元素赋值,而省略第一维的长度,但应该分行赋值。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、C语言中的字符数组,主要用于存储C风格的字符串,因此无论一维、二维,常规的初始化操作是初始化整数0。比如下面的代码:
char a[10][10] = {0};
数组在初始化时,如果初始化了第1个字符,后面的字符,系统会自动填充为0,这是一个C语言中的规定。
2、使用memset函数,将二维数组当成一维数组处理,进行初始化。示例如下:
#include <stdio.h>
#include <string.h>
int main()
{
char a[10][10];
memset(a, 0x00, sizeof(char) * 100);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询