我有点绝望,因为这是为了学校运动。我被要求用字符串填充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;
}
答案 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]
。