作者hi08060204 (Or2)
看板TFSHS68th321
標題Re: [發問] 關於C
時間Mon Apr 27 11:51:06 2009
※ 引述《MoseHas (非主流摩斯) (′‧ω‧‵)》之銘言:
: 補充
: 我知道為什麼是name而不是&name了
: 如果是&name的話,代表的是陣列的第一個位置
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 也就是name[0]
: 試想把一個字串存在空間大小只能放一個字元的情況
: 嗯...
: 為什麼我這麼笨現在才想到= =
: 所以%s一定是放近name裡面,不用加index或者是[ ]
不是吧
char name[30];
name就是指到此陣列第一個位址的pointer
&name是這個ponter的位址, 不是陣列第一個的位址
那麼
name[0]是此pointer是指到第一個位址的值
所以我printf("%s",name);
是說我把name所指到的位址傳給此函式, 再用%s的型態print出來
像是這種printf格式化的I/O函式, 還可以用%(這邊加上數字或英文)f,
來排版, 或是規定浮點數輸出的位數跟型態(像是科學計號那樣)
printf 跟 scanf是指說 我把資料輸出輸入
那fprintf 跟 fscanf 就是從把資料輸出到一個檔案stream (printf在檔案裡)
把資料從檔案的stream裡輸入 (從檔案裡scanf)
大概這樣吧 有錯推我文
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.251.209
※ 編輯: hi08060204 來自: 140.112.251.209 (04/27 11:52)
→ agan232002:沒錯要按2嗎? 04/27 14:58
→ hi08060204:隨你按 爽就好 04/27 16:42