0
我想寫一個程序,它應該接收一個字符串形式的輸入, 並且這個輸入將保存在一個動態數組中,所以我使用了一個例如20 * sizeof的malloc,並且如果字符串的大小更長比我分配內存,改善它的大小。但是,我收到了崩潰,無法通過realloc提高它的大小。我如何重新分配c中的malloc返回null後的動態數組?
我該怎麼辦?
這是我的代碼:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *user;
int n = 0;
user = (char*)malloc(20*sizeof(char));
scanf("%s",user);
n = strlen(user);
user = (char*)realloc(user,n);
return 0;
}