[問題] 新手C語言 文字輸入請教

看板C_and_CPP (C/C++)作者 (可惡~想揉)時間15年前 (2011/06/22 21:57), 編輯推噓1(105)
留言6則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) c 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 輸入文字的方式 餵入的資料(Input): #include <stdio.h> int main(void){ char name[10]; printf("請輸入名字 \n" ); scanf("%s", name); printf("輸入的是%s . \n", name); system("PAUSE"); return 0; } 補充說明(Supplement): 我看高橋麻奈的c語言書本上介紹 輸入文字的方法 是用 變數名稱 = getchar(); >>>但只能輸入文字(字元) 但是在網路上找到的範例 是用 scanf("%s", name); >>>是輸入字串 是否就是這兩者的差別? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.83.105 ※ 編輯: jizz56 來自: 59.115.83.105 (06/22 22:03)

06/22 22:04, , 1F
字元就只有一個字 a,字串是 abcdef 這樣的一串東西
06/22 22:04, 1F

06/22 22:04, , 2F
所以看你需要輸入一個字或很多個字,而使用不同方法
06/22 22:04, 2F

06/22 22:06, , 3F
感恩 所以GETCHAR 只能用於輸入單字(字元)?
06/22 22:06, 3F

06/22 22:10, , 4F
讀進自元讀出字串...?
06/22 22:10, 4F

06/22 22:19, , 5F
給你一個跳級的意見,用fgets取代scanf,可以避免邊界問題
06/22 22:19, 5F

06/22 23:15, , 6F
廣義來講getchar是讀1byte~~
06/22 23:15, 6F
文章代碼(AID): #1E0VJ2Dd (C_and_CPP)
文章代碼(AID): #1E0VJ2Dd (C_and_CPP)