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

兄弟们帮我问一下,C语言通过键盘给二维数组赋值是不是只能一个个地进行?
最新回答
寄信给风

2024-06-29 02:10:31

二维数组
的类型有关。

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

字符串
的。当其用作字符串时,可以逐行输入。

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

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

晴时不见荷

2024-06-29 08:52:11

不是啊,可以在程序中写一个循环,如:
#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();
}
这样在控制台连续输入就可以了,用空格或回车分隔输入的值就行了
听海的哭泣ぃ

2024-06-29 02:53:23

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

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


枫林渡口初相遇

2024-06-29 10:25:46

恩 一个一个赋
鱼沉秋水

2024-06-29 13:15:44

你的意思是输入一个数值后必须要按enter?你也可以自己设置间隔符判断啊,比如逗号空格什么的
追问
除了用一个循环的嵌套以外有没有一次回车就可以全部赋值的方法?
追答
那你得告诉程序怎么分隔啊,比如你输入123456789然后enter,系统不知道你想怎么分割,如果是单个字符的话就直接getchar之类的,循环还是要的吧。。