作者hth9494 (hth9494)
看板C_and_CPP
標題[問題] 用指標陣列建構一個字串
時間Mon Nov 2 14:41:35 2015
開發平台(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
推 stupid0319: *hometown字串沒申請空間給他放 11/02 14:53
→ hth9494: 感謝!!!我用calloc()之後就可以跑了 11/02 15:01
→ RishYang: 10+3誡 11/02 20:42