[問題] 用指標陣列建構一個字串

看板C_and_CPP (C/C++)作者 (hth9494)時間10年前 (2015/11/02 14:41), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 我用的IDE是DEVC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 應該是沒有 問題(Question): 我寫了一個叫man的簡單結構 結構成員有age, gender, 和hometown age是一個整數,表示年紀 gender是一個字元,表示性別 而hometown我想用指標來建構字串,表示家鄉 編譯成功,但是在執行階段出錯,看起來是因為*hometown的問題 餵入的資料(Input): 輸入一整數,一個字元,一串字串 預期的正確結果(Expected Output): 輸出以上的輸入 錯誤結果(Wrong Output): 跑出一個可愛的視窗 http://imgur.com/LE0uczP
程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> int main(){ struct man{ int age; char gender; char *hometown; }; struct man man1; struct man *m; m = &man1; printf("enter age\n"); scanf("%d", &man1.age); getchar(); printf("enter gender\n"); man1.gender = getchar(); getchar(); printf("enter hometown\n"); gets(man1.hometown); printf("age = %d\n", m->age); printf("gender : %c\n", m->gender); printf("hometown : %s\n", m->hometown); system("pause"); return 0; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.228.234 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1446446497.A.234.html

11/02 14:53, , 1F
*hometown字串沒申請空間給他放
11/02 14:53, 1F

11/02 15:01, , 2F
感謝!!!我用calloc()之後就可以跑了
11/02 15:01, 2F

11/02 20:42, , 3F
10+3誡
11/02 20:42, 3F
文章代碼(AID): #1MDmMX8q (C_and_CPP)
文章代碼(AID): #1MDmMX8q (C_and_CPP)