[問題] strlen怪怪的

作者: fuct (添財)   2016-10-17 14:04:24
開發平台(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):
作者: a27417332 (等號卡比)   2016-10-17 14:18:00
因為是你的code奇怪,不是他奇怪。把其他code也貼上來吧,不然這樣大家也沒辦法幫你找哪邊出問題
作者: Caesar08 (Caesar)   2016-10-17 14:54:00
你覺得你這樣問,大家會知道問題出在哪邊?
作者: steve1012 (steve)   2016-10-17 14:58:00
八成移到pointer你移S1?
作者: Schottky (順風相送)   2016-10-17 15:09:00
記住 for 的條件判斷是每 loop 一次就判斷一次所以你每跑一圈迴轉到 for 時都會再跑一次 strlen()
作者: Zero0910 (みくに最高≧▽≦)   2016-10-17 15:11:00
未看(也沒得看)先猜迴圈裡面有s1++;
作者: suwako   2016-10-17 16:12:00
把迴圈內的code貼出來再說吧
作者: hunandy14 (Charlott.HonG)   2016-10-17 16:16:00
http://imgur.com/jS5gGgw.png嗯..應該錯在你隱藏的代碼裡QQ
作者: fuct (添財)   2016-10-17 17:49:00
謝謝 迴圈裡真的有s++.. 感恩
作者: tinlans ( )   2016-10-18 00:14:00
說好的水晶球呢
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-10-18 10:14:00
水晶球,顯出景象

Links booklink

Contact Us: admin [ a t ] ucptt.com