gpt4 book ai didi

我可以将字符串从二维数组复制到一维数组(数组和指针)

转载 作者:行者123 更新时间:2023-11-30 14:42:02 24 4
gpt4 key购买 nike

我发现将字符串从二维数组复制到一维数组非常棘手。所以我通过地址访问这些值。它在 for 循环内工作正常。一维数组是否真的是用二维数组值复制的。

char *str[4] = {"i " "California", "ii " "Texas", "iii " "Florida", "iv " "Washington"};        //two dimensional array
int r = 0, c, i = 0;
char *temp; //one dimesional array

for(r = 0; r < 4; r++){
c = 0;
while(*(str[r]+c) != '\0'){
printf("%c", *(str[r]+c));
c++;
temp = &str[r][c];
printf("%c", *temp);
}
printf("\n");
}

return 0;

最佳答案

您可以使用 calloc 来分配临时指针内存大小。

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

int main()
{
char *str[4] = {"i " "California", "ii " "Texas", "iii " "Florida", "iv " "Washington"}; //two dimensional array
int r = 0;

for(r = 0; r < 4; r++)
{
char *temp = (char*) calloc (strlen(str[r]) ,sizeof(char));
strcpy(temp, str[r]);
printf("%s", str[r]);
printf("\n");
free(temp);
}
return 0;
}

关于我可以将字符串从二维数组复制到一维数组(数组和指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54614249/

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