我想用字符串

时间:2015-12-31 17:15:40

标签: c arrays pointers type-2-dimension

我有点绝望,因为这是为了学校运动。我被要求用字符串填充50x7数组,以便保存它们以供进一步使用,例如银行系统的数据库。所以我需要扫描一些字符串并将它们保存在该数组上。我需要使用指针,所以我需要一个指针数组,可以包含我扫描的任何东西,但每当我尝试的东西,它在我的第一次扫描后不断崩溃,我无法正确填充它。这可能是语法错误。请告诉我如何填写2-Dim指针数组。

#include <stdio.h>
#include <string.h>

int main() {
    int i, j;

    char save[50][7];
    char* ptr[50][7];

    for(i = 0; i < 50; i++)
    {
        for (j = 0; j < 7; j++)
        {
            ptr[i][j] = &save[i][j];
        }
    }

    for(i = 0; i < 2; i++)
    {
        for(j = 0; j < 2; j++)
        {
            scanf("%s", ptr[i][j]);
        }
    }

    for(i = 0; i < 2; i++)
    {
        for(j = 0; j < 2; j++)
        {
            printf("%s", ptr[i][j]);
        }
    }

    return 0;
}

1 个答案:

答案 0 :(得分:1)

您需要定义,例如char save[50][7][256]有50 * 7个字符串数组,最多255个字符。根据您的定义,您有50 * 7个单字符阵列。将save定义和行ptr[i][j] = &save[i][j]更改为ptr[i][j] = save[i][j]