C语言通过键盘给二维数组赋值是不是只能一个个地进行?

 我来答
风若远去何人留
推荐于2016-01-05 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

二维数组的类型有关。

在C语言中,大多数二维数组都只能一个个进行赋值,但是对于字符型二维数组,即char [][]数组,每行都是一个一维字符数组,在C语言中是可以用作字符串的。当其用作字符串时,可以逐行输入。

char a[10][100];
int i;
for(i = 0; i < 10; i ++)
    scanf("%s", a[i]);

当二维字符数组不做字符串使用时,或二维数组为其他类型时,就只能一个个元素进行赋值了。

781458175
推荐于2018-03-13 · TA获得超过166个赞
知道答主
回答量:50
采纳率:0%
帮助的人:31.1万
展开全部
不是啊,可以在程序中写一个循环,如:
#include <stdio.h>
void main()
{
int a[3][3];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}
}
getch();
}
这样在控制台连续输入就可以了,用空格或回车分隔输入的值就行了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuhuaizhong
2013-05-16 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3616万
展开全部

可以一下子输进去,用空格做分隔符,只要数量匹配就行。

因为程序是从输入缓冲区读入数据的,你一下子输进去一堆,他每次都是从里边取,没有了才管键盘要。


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲁忙忙
2013-05-16 · 超过13用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:55万
展开全部
恩 一个一个赋
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cindyhq2011
2013-05-16 · TA获得超过165个赞
知道答主
回答量:132
采纳率:50%
帮助的人:69万
展开全部
你的意思是输入一个数值后必须要按enter?你也可以自己设置间隔符判断啊,比如逗号空格什么的
追问
除了用一个循环的嵌套以外有没有一次回车就可以全部赋值的方法?
追答
那你得告诉程序怎么分隔啊,比如你输入123456789然后enter,系统不知道你想怎么分割,如果是单个字符的话就直接getchar之类的,循环还是要的吧。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式