
一个关于C语言中二维数组的问题(如何判断数组中的数全为1?)
3个回答
展开全部
1.
一维数组存放相同的值,但是如果是矩阵,行列式等类型的,用二维的就比较方便了.至于字符数组,只是说明它里面存放的元素是字符而已.
2.
注意{{1},{2},{3}}里面的1,2,3是有{}的,在本题中表示每一行中的第一个元素分别为1,2,3.剩下的元素如a[1[2],a[2][2]等就默认是0了.而b[3][3]={4,5,6}这只有一个{},把4,5,6都包进去了。,表示b[0][0],b[0][1],b[0][2]分别为4,5,6.剩下的都为0了.
3.
strcat(s1,s2)是将第二个字符串复制到第一个字符串后面,拼成一个字符串.复制完成后,函数会添加'\0',表示字符串的结束.所以执行完strcat(s1,s2)后实际结果为123abcde\0.用strlen取长度,自然就是8了
一维数组存放相同的值,但是如果是矩阵,行列式等类型的,用二维的就比较方便了.至于字符数组,只是说明它里面存放的元素是字符而已.
2.
注意{{1},{2},{3}}里面的1,2,3是有{}的,在本题中表示每一行中的第一个元素分别为1,2,3.剩下的元素如a[1[2],a[2][2]等就默认是0了.而b[3][3]={4,5,6}这只有一个{},把4,5,6都包进去了。,表示b[0][0],b[0][1],b[0][2]分别为4,5,6.剩下的都为0了.
3.
strcat(s1,s2)是将第二个字符串复制到第一个字符串后面,拼成一个字符串.复制完成后,函数会添加'\0',表示字符串的结束.所以执行完strcat(s1,s2)后实际结果为123abcde\0.用strlen取长度,自然就是8了
展开全部
最直接的办法就是调用函数,将该数组作为实参传递,
然后在函数中定义一个变量flag作为标记,用循环遍历这个二维数组
如果数组元素为1则将flag置为1继续扫描,否则置为0并退出循环
返回flag,flag为1则表示数组元素全为1,否则不全为1
然后在函数中定义一个变量flag作为标记,用循环遍历这个二维数组
如果数组元素为1则将flag置为1继续扫描,否则置为0并退出循环
返回flag,flag为1则表示数组元素全为1,否则不全为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为在C语言中,数组名的实质是数组的首地址。main函数中调用trmul函数的一句
trmul(a,b,4,5,3,c);
的意思是将数组a
b
c的首地址作为函数的实参赋予对应的形参
void
trmul(
a,
b,
m,
n,
k,
c)
int
m,
n,
k;
double
a[],
b[],
c[];
这里的a
b
c了。
以第一个数组为例来说明:
在主函数中a是一个二位数组名,及a是一个具有20个元素的二位数组的首地址,调用函数时trmul(a,b,4,5,3,c);
将a的值(20个元素的首地址)作为函数的实参赋予对应的形参
void
trmul(
a,
b,
m,
n,
k,
c)
int
m,
n,
k;
double
a[],
b[],
c[];
这里的a
了。因为子函数中的a是一维数组名(实质是指针变量
数组名仍然是数组首地址)所以对主函数中的20个元素,从子函数的角度看就是具有20个元素的一维数组,当然也可以看成4行5列的元素。
希望对你有帮助
trmul(a,b,4,5,3,c);
的意思是将数组a
b
c的首地址作为函数的实参赋予对应的形参
void
trmul(
a,
b,
m,
n,
k,
c)
int
m,
n,
k;
double
a[],
b[],
c[];
这里的a
b
c了。
以第一个数组为例来说明:
在主函数中a是一个二位数组名,及a是一个具有20个元素的二位数组的首地址,调用函数时trmul(a,b,4,5,3,c);
将a的值(20个元素的首地址)作为函数的实参赋予对应的形参
void
trmul(
a,
b,
m,
n,
k,
c)
int
m,
n,
k;
double
a[],
b[],
c[];
这里的a
了。因为子函数中的a是一维数组名(实质是指针变量
数组名仍然是数组首地址)所以对主函数中的20个元素,从子函数的角度看就是具有20个元素的一维数组,当然也可以看成4行5列的元素。
希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |