[問題] 結構的問題

看板C_and_CPP作者 (sunlights)時間10年前 (2013/11/15 13:54), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev C++ 問題(Question): 想問一下用struct 宣告一個結構如下 struct student{ char *name; int score; }; 如果定義變數s如下 struct student s={"Mitch Tsai",80}; 在C的練習題問題裡 printf("%s\n",s.name+6); 的答案是Tsai printf("%d\n",s.score+10); 的答案是90 我的疑問是.. (.name)為什麼取出來是Tsai..難道他是一個陣列嗎?? 那(.XXX)取出來都不是值嗎??我以為(.XXX)就是*的效果,難道不是嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc)

11/15 14:24, , 1F
s.name取得address %s取得輸出方式
11/15 14:24, 1F

11/15 14:35, , 2F
printf("%d\n",s.score+10) 應該是90吧 ?
11/15 14:35, 2F
sorry~~改了~~ ※ 編輯: sunlights 來自: 118.165.154.208 (11/16 10:03)

11/16 10:17, , 3F
是char array沒錯啊
11/16 10:17, 3F

11/16 10:52, , 4F
第一個printf裡是指定%s, 所以他會把第二個參數的地方當作
11/16 10:52, 4F

11/16 10:54, , 5F
string 起始的位置往下走, 最後看到原本s.name的Null結尾
11/16 10:54, 5F
文章代碼(AID): #1IXRRx-q (C_and_CPP)