看板 C_and_CPP 關於我們 聯絡資訊
最近一直陷入陣列與字串迷失 題目是這樣的, 假設有一個字串: char str[]="this is bookis"; char ch[]="is"; 用ch搜尋str中的"is"印出位置:2、5、14 -------------------------------------- 如果單一用: for(i = 0; i < strlen(str); i++) { if(ch[0] == str[i]) printf("%d",i); } -------------------------------------- 可是這樣的表示總是缺少了甚麼?? -------------------------------------- 宣告一個指標函數: void position(char[],int n,char key) { for(i = 0; i < n; i++) { if(key == str[i]) printf("%d",i); } } 註:n=strlen(str). -------------------------------------- 卻指不出它的位址。 請問這些東西是少了一些甚麼?? 還有我必須加強的還有哪些?? 麻煩給我一些指點迷津,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.176.73
purincess:你比到i對了以後還要想辦法從i開始繼續比下去, 連s也要 09/10 00:26
purincess:比到, 所以需要兩層迴圈. 09/10 00:26
purincess:return (str+i) 就可以return那個match的開頭的char的 09/10 00:27
purincess:address 09/10 00:27
purincess:一樓的i是ch[0]的那個'i'不是迴圈的counter i xD 09/10 00:29
james732:http://codepad.org/RZpuASz9 09/10 00:42
james732:http://codepad.org/7FR8RCVw 09/10 00:44