gpt4 book ai didi

string - 将二维字符串数组的索引显示为它们的值。例如。 arr[2][1] = "21"和 arr[3][1] = "31"依此类推

转载 作者:行者123 更新时间:2023-12-04 05:20:14 25 4
gpt4 key购买 nike

基本上我想创建一个二维字符串数组 char* grid[4][4],并希望将它们的索引显示为它们的值。例如 grid[2][1] 将字符串“21”作为它的值。
但是他们是这段代码中的一些错误,在运行时它给了我段错误错误。请帮帮我。
char* grid[DIMENSION][DIMENSION];

for (int i = 0; i < DIMENSION; i++)
{
for (int j = 0; j < DIMENSION; j++)
{
char* c = malloc(3 * sizeof(char));
c = "00\0";
c[0] = c[0] + i;
c[1] = c[1] + j;
grid[i][j] = c;

}
}

for (int i = 0; i < DIMENSION; i++)
{
for (int j = 0; j < DIMENSION; j++)
{
printf("%s\t", grid[i][j]);
}

printf("\n");

}
return 0;

}

最佳答案

替换:

 char* c = "00";
c[0] = c[0] + i;


char c[] = "00";
c[0] = c[0] + i;

通常不可能更改字符串文字的值。与 gcc ,您可以通过指定 -fwritable-strings 来更改此行为.许多编译器会将字符串文字放入不可写的段中,但通过声明 c作为字符数组,它保证可写。 (虽然,现在您在分配给 grid 时遇到了问题,所以您可能想要使用 malloc 。)
char *c = xmalloc(3);  /* xmalloc wraps malloc with error checking */
c[0] = '0' + i;
c[1] = '0' + j;
c[2] = 0;

关于string - 将二维字符串数组的索引显示为它们的值。例如。 arr[2][1] = "21"和 arr[3][1] = "31"依此类推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com