看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) minGW 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) strlen 問題(Question): char *s1= "(a*b)"; int a=strlen(s1); 看結果a是等於5沒錯,但 for(int i=0;i<strlen(s1);i++) 卻只執行三次.. 為什麼呢 真奇怪啊 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.237.110 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1476684268.A.8C8.html
a27417332: 因為是你的code奇怪,不是他奇怪。把其他code也貼上來 10/17 14:18
a27417332: 吧,不然這樣大家也沒辦法幫你找哪邊出問題 10/17 14:20
Caesar08: 你覺得你這樣問,大家會知道問題出在哪邊? 10/17 14:54
steve1012: 八成移到pointer 10/17 14:58
steve1012: 你移S1? 10/17 14:58
Schottky: 記住 for 的條件判斷是每 loop 一次就判斷一次 10/17 15:09
Schottky: 所以你每跑一圈迴轉到 for 時都會再跑一次 strlen() 10/17 15:10
Zero0910: 未看(也沒得看)先猜迴圈裡面有s1++; 10/17 15:11
suwako: 把迴圈內的code貼出來再說吧 10/17 16:12
hunandy14: http://imgur.com/jS5gGgw.png 10/17 16:16
hunandy14: 嗯..應該錯在你隱藏的代碼裡QQ 10/17 16:17
fuct: 謝謝 迴圈裡真的有s++.. 感恩 10/17 17:49
tinlans: 說好的水晶球呢 10/18 00:14
MOONRAKER: 水晶球,顯出景象 10/18 10:14