求修改程序:输入一个二维数组

发布网友 发布时间:2022-04-22 05:06

我来回答

2个回答

热心网友 时间:2024-01-06 07:36

str是一个二维char数组,str[i][j]就只能存储单个的字符,你用%s读取字符串肯定会越界
所以要么使用%c读取单个字符,要么就把str变成三维的,比如char str[2][4][100],这样str[i][j]能存储100个字符了就

热心网友 时间:2024-01-06 07:36

没说明情况呀,不懂你想表示什么问题追问编译通过了,但是无法运行

追答#include
#include
void enter(int str[][4],int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&str[i][j]);//在scanf中加上地址符&就好了
}
}
}
int main()
{
int str[2][4]={0};
enter(str,2);
int i;
int j;
for(i = 0;i < 2;i++)
{
for(j=0;j<4;j++)
{
printf("%d",str[i][j]);
printf("\n");
}
}
return 0;
}
输入:
123
12
3
4
5
6
7
8
输出:
123
12
3
4
5
6
7
8

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com