[爆卦]c字串處理是什麼?優點缺點精華區懶人包

為什麼這篇c字串處理鄉民發文收入到精華區:因為在c字串處理這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者mtlthebest (鼠它)看板C_and_CPP標題[問題] C初學者 字串處理問題時間Sa...

c字串處理 在 Caroline 凱洛琳 Instagram 的最讚貼文

2021-09-16 00:54:40

🐓中友百貨餐廳介紹-大河屋 5月後的第一次外食獻給它們😌 這是一家專門賣丼飯、串燒的日式店🇯🇵 很多種肉品可選擇,滿足各位的需求! 9/26前內用時名字中 🈶️「中、秋、月、亮、圓、滿」 符合一字送「明太子雞肉串一串」 符合兩字送「明太子雞肉串兩串」 特別跟大家說一下‼️ 這家雞肉都是選擇急速冷凍...


各位好 小弟初學C 第二次上來問問題 這題有點淺 請別見怪感恩!

我用的平台是DEV C

今天學到C語言的字串 老師說C裡面其實沒有字串 是字元的陣列

於是我嘗試了以下程式碼:

#include <stdio.h>
#include <stdlib.h>
int main(){
char string[100];
scanf("%s",&string);
printf("%s",string); //問題一
printf("%s",string[0]); //問題二

system("pause");
return 0;
}

假設我輸入abc

問題一: 為什麼執行後結果就印出abc,剩下的97個元素是什麼?
我以為空的地方會補0,然後印出abc + 97個0

問題二: 我想單看string[0]的這一個元素的內容,為何編譯會過但是卻跑出
"已停止運作"的視窗(逾時?)

有觀念錯誤還請用力指正,謝謝!

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.9.114
flydragon198:printf("%c",string[0]); //問題二 把s改成c 04/13 02:58
linotwo:scanf("%s", string); 就好,不用加 & 04/13 02:59
a23633302:第二個問題,只是看第0個元素.....所以前面要改%c看字元 04/13 03:01
flydragon198:第一個問題,因為printf會把0當作結尾,你可以試著 04/13 03:03
flydragon198:輸入一些字串,然後把string[2]設定成0,他也只會顯 04/13 03:04
flydragon198:示前兩個字元而已,遇到0就當作後面沒東西,不印了 04/13 03:04
linotwo:字元會用單引號括起來,'0' 的整數值是 48,'\0'才是 0 04/13 03:07
linotwo:http://www.cplusplus.com/doc/ascii/ 04/13 03:09
KoenigseggG:1.你這樣scanf其實他碰到空白.tab.enter就會斷掉 04/13 07:12
KoenigseggG:例如a b c這樣只會讀到a而且scanf的string前不用+& 04/13 07:12
KoenigseggG:不想斷掉可以去查gets()的用法2.把%s改成%c 04/13 07:13
KoenigseggG:然後其實當你宣告完string時就可以printf了因為你沒 04/13 07:14
KoenigseggG:初始化所以裡面可能是一些怪怪的東西~_~可以印看看 04/13 07:15
diabloevagto:問題一,你沒初始化裝什麼都有可能 04/13 13:20
rephansu:c沒有string的type,但printf卻有定義什麼是string 04/13 23:08
rephansu:建議先去看printf的參數說明, 搜尋"printf format"即可 04/13 23:11
rephansu:""是表示常數字元陣列(字串),最後會多一個\0表示字串結尾 04/13 23:38

你可能也想看看

搜尋相關網站