從后往前每隔三位插入逗號與從前往后每隔三位加一個逗號為什么不同
// 從后往前每隔三位插入逗號
for (int i=str.length()-3;i>0;i=i-3)
?// 從前往后每隔三位插入逗號
for (int i=3;i<str.length();i=i+4)
// 從后往前每隔三位插入逗號
for (int i=str.length()-3;i>0;i=i-3)
?// 從前往后每隔三位插入逗號
for (int i=3;i<str.length();i=i+4)
2016-08-30
舉報
2016-08-31
例如,對于一個長度為7的字符串 "abcdefg"
從后往前每隔三位插入逗號:"a,bcd,efg"
從前往后每隔三位插入逗號:"abc,def,g"
所以它們的遍歷方式是要相反的才行。
2016-10-03
從后往前加逗號,整個字符串長度都在改變,但是插入后和插入前 有一樣東西沒變 ?就是字符串前面沒有加逗號的字符的下標 ?是不變的
從前往后的話 ? 前面的下標就一直在改變 所以i+4也不對(除非只有兩次循環(huán))
2016-09-08
首先這個插入是在第幾個數(shù)之后插入,記住是之后插入。
然后從后往前,int i=str.length();這個是初始變量,所以只會執(zhí)行一次。讓你想,比如我在1234567,在4后面插入一個頓號,這個時候初始長度是7,7-3=4,所以在長度為4的地方插入是不是變成了1234,567,這個時候再來一次i-3=4-4=1,所以從第一個數(shù)之后插入。因為每次插入是從前往后數(shù) 的方法,每次頓號是在你要插入的數(shù)之后,所以沒有影響。
反之從前往后插入,那么就是i+4,這個時候你在第三位插入一個一個頓號,從前往后數(shù),那么要多加一個頓號的位置,所以是i+4;
我的理解是這樣 不知道真確不真確
2016-08-30
沒懂,能說清楚點嗎?謝謝。
2016-08-30
因為字符串的長度不同,如“abcde”,從前往后“abc,de”,從后往前“ab,cde”