[問題] 問一個函數的作用
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
visual c++
問題(Question):
想要問一個函數的作用 因為不所以我就直接打出來了
這個函數是這樣的
void myster1(char *s1, const char *s2)
{
while (*s1!='\0')
s1++;
for(;*s1=*s2;s1++,s2++)
;//empty statement
}//end of function
我自己的想法是這樣的 就是傳入兩個char指標 其中一個有specify指向constant data
然後第一個while run過第一個字串陣列 直到最後一個字元就停下來
這時候做for statement 將每個s2 string 裡面的字元指定給s1接下來的字元
所以這樣應該是把兩個字串串接起來吧?
可是我有幾個問題
1. 為什麼mystery1 function的第二個parameter要宣告成指向constant data
2. 第二個for會怎樣跳出? 因為每個都這樣指定的話要怎麼跳出for?
3. 我實際使用這個程式碼 發現有時候他會把兩個字串串接起來 有時不會
要是第二個字串中間有空白鍵,他就只會串接到空白鍵之前
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.106
→
11/15 09:38, , 1F
11/15 09:38, 1F
→
11/15 09:39, , 2F
11/15 09:39, 2F
不好意思剛剛打太快了沒打到題目
推
11/15 09:39, , 3F
11/15 09:39, 3F
我想問一下 所以這個for是跑到s2的尾端就會跳出嗎?
為什麼??
我讀字串是使用cin.
char s1[80],s2[80]
cin>>s1>>s2;
推
11/15 09:41, , 4F
11/15 09:41, 4F
※ 編輯: steve1012 來自: 140.112.25.106 (11/15 09:41)
※ 編輯: steve1012 來自: 140.112.25.106 (11/15 09:43)
→
11/15 09:42, , 5F
11/15 09:42, 5F
推
11/15 09:42, , 6F
11/15 09:42, 6F
我覺得好像有點問題可是實際上是可以跑得
這是c++how to program裡面的題目
※ 編輯: steve1012 來自: 140.112.25.106 (11/15 09:44)
→
11/15 09:44, , 7F
11/15 09:44, 7F
不過題目宣告的陣列比輸入的字串長很多 這樣應該還可以吧
char s1[80],s2[80];
→
11/15 09:44, , 8F
11/15 09:44, 8F
※ 編輯: steve1012 來自: 140.112.25.106 (11/15 09:50)
→
11/15 09:54, , 9F
11/15 09:54, 9F
→
11/15 09:56, , 10F
11/15 09:56, 10F
→
11/15 11:39, , 11F
11/15 11:39, 11F
→
11/15 11:39, , 12F
11/15 11:39, 12F
→
11/15 11:40, , 13F
11/15 11:40, 13F
→
11/15 11:51, , 14F
11/15 11:51, 14F
→
11/15 11:52, , 15F
11/15 11:52, 15F
→
11/15 11:53, , 16F
11/15 11:53, 16F
→
11/15 11:54, , 17F
11/15 11:54, 17F
→
11/15 11:54, , 18F
11/15 11:54, 18F
→
11/15 11:55, , 19F
11/15 11:55, 19F
→
11/15 11:58, , 20F
11/15 11:58, 20F
→
11/15 12:01, , 21F
11/15 12:01, 21F
→
11/15 13:12, , 22F
11/15 13:12, 22F
→
11/15 13:24, , 23F
11/15 13:24, 23F
→
11/15 13:29, , 24F
11/15 13:29, 24F
→
11/15 14:10, , 25F
11/15 14:10, 25F
推
11/15 14:14, , 26F
11/15 14:14, 26F
→
11/15 15:17, , 27F
11/15 15:17, 27F
→
11/15 17:05, , 28F
11/15 17:05, 28F