Re: [閒聊] 字串陣列各元素間少打逗號
看板C_and_CPP作者softwind (software everywhere)時間14年前 (2011/05/21 01:56)推噓1(1推 0噓 1→)留言2則, 2人參與討論串2/3 (看更多)
※ 引述《Arton0306 (Ar藤)》之銘言:
: 事情是這樣的
: 我原本有個char二維陣列 如下
: const char cmdName[][30] = {"Conn", "Send", "A15E", "Enter", "Ex",
: "r slp", "rwake", "printRx" , "a song", "All",
: };
: 後來要改裡面的字 如下
: const char cmdName[][30] = {"Conn", "Send", "A15E", "Enter", "Send2"
: "r slp", "rwake", "printRx" , "a song", "All",
: };
: 結果compile 沒error 也沒warning
: 就讓我過了
: 因為以為是別的地方造成錯誤
: 於是花了我將近2個小時在debug...
這個在 Expert C Programming 裡面有講到 我忘了細項
事情是這樣的 在很久很久以前 string literal 是不能直接串接的
so 那個時候 你要表達一段 大篇幅的文字要這樣寫
char *pStr = "1234567890\
0987654321\
abcdefghijk\
lmnopqrst";
但是... 要表達串接, \後面 不能有任何空格 or 符號
不然compiler會誤認 \(space) 其實是要 (space)的意思
然後就錯了~
到了ANSI C的時候 把string literal 串接 納入標準
so 上面的string可以寫成
char *pStr = "1234567890" // "之後 想空 想Tab 隨你...
"0987654321"
"abcdefghijk"
"lmnopqrst";
... 然後 我就忘記了
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.182.77
推
05/21 03:23, , 1F
05/21 03:23, 1F
→
05/21 20:46, , 2F
05/21 20:46, 2F
討論串 (同標題文章)