whitesword白刃
2021-07-01 22:40
采纳率: 100%
浏览 22

我的char二维数组存了不止一个字符

我也不知道为啥,我的char二维数组好像装了不止一个字符就离谱.....代码如下,input也在下面

output长这样

.

...
#include<stdio.h>

int main()
{
    int num,n;
    char bl;
    scanf("%d",&num);
    for(int i = 1;i<=num;i++)
    {
        char ak[100][100] = {};
        int k = 0;
        int re[10] ={};

        scanf("%d",&n);
        for(int y = 1;y<=n;y++)
        {
            for(int t = 1;t<=n;t++)
            {
                bl = getchar();
                if(bl!='\n')
                    ak[y][t] = bl;
            }
        }
        printf("%c",ak[2][3]);
    }
}

这是input

6
4
..*.
....
*...
....
2
*.
.*
2
.*
.*
3
*.*
...
...
5
.....
..*..
.....
.*...
.....
4
....
....
*...
*...
  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • 已采纳

    语句
    char ak[100][100] = {};
    改为
    char ak[100][100] = {'\0'};

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • CSDN专家-link 2021-07-02 05:09

    你代码想实现什么不是很清楚啊,你双循环输入了一个矩阵,但下一个循环又会被覆盖掉,因为每次y,t都是从1开始的,有什么作用呢?另外输出个ak[2][3]是什么作用呢?

    希望题主说明一下代码想实现的目标,以便有针对性得给出解决办法

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题