C语言中二维字符数组应该怎样赋值?
发布网友
发布时间:2022-05-12 07:43
我来回答
共5个回答
热心网友
时间:2023-07-28 23:36
二维数组赋值的一般形式是:dataType arrayName[length1][length2]。result二维字符数组可以这样赋值,result[0][0]=seq1[0] ;result[1][0]=seq2[0]。
dataType arrayName[length1][length2],其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。
例如:int a[3][4],定义了一个3行4列的数组,共有3×4=12个元素,数组名为a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
在二维数组中,要定位一个元素,必须给出一维下标和二维下标,就像在一个平面中确定一个点,要知道x坐标和y坐标。例如,a[3][4] 表示a数组第3行第4列的元素。
扩展资料:
二维数组的地址计算
有二维数组A[m][n],设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按“列优先顺序”存储时,地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节
参考资料来源:百度百科——二维数组
热心网友
时间:2023-07-28 23:36
二维字符串赋值一般有两种方法:
1、初始化时直接赋值,例如char s[3][]={"1234","xyz","abd"};
2、拷贝赋值,例如char s[3][10]; strcpy(s[0],"123")。
热心网友
时间:2023-07-28 23:36
#include<stdio.h>
int main()
{
char seq1[100],seq2[100],result[2][100];
int i;
printf("please put a sequence:\n");
scanf("%s",seq1);
printf("please put another sequence:\n");
scanf("%s",seq2);
result[0][0]=seq1[0] ;
result[1][0]=seq2[0]; //单字符赋值
printf("%c\n",result[0][0]);
printf("%c\n",result[1][0]); //按字符输出
return 0;
}
热心网友
时间:2023-07-28 23:37
char stack_array[][]这个必须要至少指定一维,否则程序不知道如何定位你的数组元素,会报错:
改成如下:char stack_array[][30] //根据你的程序来
热心网友
时间:2023-07-28 23:38
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
如果不知道怎么用再问
C语言中二维字符数组应该怎样赋值?
二维数组赋值的一般形式是:dataType arrayName[length1][length2]。result二维字符数组可以这样赋值,result[0][0]=seq1[0] ;result[1][0]=seq2[0]。dataType arrayName[length1][length2],其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标...
二维字符串数组赋值方法有几种
字符串赋值一般有两种方法:1.初始化时直接赋值,这你已经知道了.2.拷贝赋值.如strcpy(str,"123");这样.char a[10][10];a[0][10]="123";这种写法肯定是错的,a是二维数组,那么a[0][10]就是数组中的一个元素了,是char型,怎么能直接赋值一个字符串给它呢?况且下标10还越界了.
c语言定义了一个二维字符数组怎么赋值,要求输入n表示n行,然后每行输入...
首先用gets()取得字符串,然后用strcpy()函数进行赋值。我的编译器没有VLA的功能,所以我定义了4行,有这个功能的话把4改成n就可以 include<stdio.h> include<string.h> int main(void){ int i;char string[4][100];char str[100];for(i=0;i<4;i++){ gets(str);strcpy(string[i],st...
c 语言 二维字符串数组赋值问题
c 字符串定义以后不可以 用= 直接赋值的用函数 strcpy#include <stdio.h>#include <string.h>int main(void){char name[3][20];strcpy(name[0], "iris1");strcpy(name[1], "iris2");strcpy(name[2], "iris3"); } 本回答由电脑网络分类达人 刘杰推荐 举报| 答案纠错 | 评论 16 1 AlphaBlend ...
c语言中怎样实现对二维数组元素进行赋值并输出。
用一个两重循环就可以了:#include <stdio.h>void main(){int a[3][4] = {0}, row, col;printf("请输入数组元素的值(3行4列): \n");for (row=0; row<3; row++)for (col=0; col<4; col++)scanf("%d", &a[row][col]);printf("您输入的数组为:\n");for (row=0; ...
求C语言二维字符数组及二维指针的初始化介绍 二维数组的赋值方法...
二维数组可以在定义时进行赋值 也可以定义过后通过循环来赋值 字符数组的话可以直接赋字符也可以赋对应的ascii码值 二维指针 就是指向指针的指针 比如 int *p=&a, Int **q=&p;要是指向二维数组的指针的话 int a[4][4];int (*p)[4]=a;p就是一个指向二维数组的指针 ...
C语言中怎样定义一个字符型的二维数组赋值并输出啊?
二位数组赋值一般利用for循环语句进行赋值,输出也是一样的。
Vc中 二维字符串数组的赋值问题
第一种情况 char string[3][50];string[][50]={"aaa","bbb","ccc"};//赋值方式没错;printf("%s",string[1][50);//输出方式有错,string[1][50】是个字符,不是字符串,字符串应该是string[0];printf("%s",string[2][50);printf("%s",string[3][50);//不存在String[3],只...
请问C语言中 怎样赋值一个二维的字符数组和输出(某一行)
char A[2][]={"CHINA","CHINESE"};strlen(A[i])的确是第I行的字符个数
c语言有关二维数组变量初始化
方法一:在定义的同时赋值 int a[3][2]={0};//所有数组元素均为0 方法二:int a[3][2]={1,2,3,4,5,6};//常规的赋值方法 方法三:int a[3][2]={{1,2},{3,4},{5,6}};//分行的赋值方法 方法四:int a[3][2]={{1,2},{0},{3}};//部分赋值方法,第一行元素的...