【发布时间】:2020-11-07 05:40:22
【问题描述】:
声明一个大小为 5 的字符数组 Arr。在没有 scanf 的情况下将字符读入其中。使用指针变量,更改 Array 中的字符。 打印原始的 Arr,然后用 Address 打印更改后的数组。
【问题讨论】:
标签: solver
声明一个大小为 5 的字符数组 Arr。在没有 scanf 的情况下将字符读入其中。使用指针变量,更改 Array 中的字符。 打印原始的 Arr,然后用 Address 打印更改后的数组。
【问题讨论】:
标签: solver
char *charArr[5]; // Declare a Character Array of Size 5 (1)
fgets(charArr, 5, stdin); // Read characters into array without scanf (2)
void change(int **array, int length){
*array = malloc(length * sizeof(int));
if (*array == NULL)
return;
for (int i = 0 ; i < length ; i++)
(*array)[i] = 1;
}
}
printf("%s\n", charArr); // simply prints array of chars (3.a) Inital array set of vals
change(&charArr, 5); // change values within array
printf("%s\n", charArr); // simply prints array of chars (3.b) array set of vals after change
free(array); // Free's up Malloc
我对 C 不是很熟悉,但我认为它是这样的。我设法使用以下资源推断出解决方案
注意如果确实失败,请查看下面的 stackoverflow 链接。它描述了使用具有预定义内存的 malloc 可能会引发异常。
资源:
【讨论】: