-1
我想要一個動態數組的字符串,所以指向數組的指針。 這是我的代碼(打印後,我的程序崩潰):配置一個二維數組,試圖打印字符串後崩潰
typedef struct person{
char *name;
char **children;
struct person *nextPerson;
}Person;
int main(){
int kidsNum = 1;
int i;
Person *first = (Person*)malloc(sizeof(Person));
first->name = "George";
first->children = malloc(kidsNum * sizeof(char*));
for (i = 0; i < kidsNum; i++){
//every string consists maximum of 80 characters
(first->children)[i] = malloc((80+1) * sizeof(char));
scanf("%s",((first->children)[i]));
printf("%s",(*((first->children))[i]));
}
}
它的printf後崩潰,我不知道,如果它崩潰,因爲壞mallocing,或不知如何打印字符串在場景中正確。
的參數應該是相同的打印字符數組/ –
'的printf( 「%s」 時,(*((第一代>兒童)) [ - ]''printf(「%s \ n」,first-> children [i]);' – BLUEPIXY
編譯啓用所有警告 –