for i strlen a 1 i0 i為什麼後面用i 而不是 i

2021-04-18 14:40:28 字數 2278 閱讀 8537

1樓:星幣騎士

這裡用i--或--i都是一樣的,因為它就是單獨的一個計算,結果都一樣。

2樓:估計下午燃氣

--i的話會在使用之前自減,這個就取不到字串第一個和最後一個字元,i--在使用之後自減,字串的字元全能取到

3樓:終寒煙郟珧

for(i=strlen(a);i>=j;i--)a[i]=a[i-1]…在第四個位置插入所以從下往上移動strlen的作用是最後一個字元不是\0

c語言 for(i=strlen(s)-1;i>=0;i--) print("%c",*(s+i)); 怎麼看不懂

4樓:匿名使用者

這其實算簡單了,還沒說直接給你一個int讓你自己寫函式2、e69da5e6ba9062616964757a686964616f313333373865368、16、十進位制之間互相轉換。

其實這裡是這樣的。。。將b不斷的對16取模,然後餘數根據十六進位制的法則變為對應的ascll碼,這段你沒有問相信你也會了,關鍵就在於換算成對應的ascii之後,將結果存放在陣列s中,而且每次是按位儲存的,所以也有一個指標p在裡面控制陣列,這裡你簡單理解成結果按位儲存在字串陣列s中,陣列中每一位都是一個ascii碼。

for(i=strlen(s)-1;i>=0;i--)

print("%c",*(s+i));

這段的意思就是將陣列列印出來。

估計你沒轉過彎來可能就是字元陣列其實可以用字串求長度的函式strlen來求出字元陣列的長度,換個角度理解,你也可以看成連續的字元陣列串聯起來其實就是一個字串嘛。。

由於按位存放結果。。。所以要從後往前輸出,,其實舉個很簡單的道理,隨便給你一個兩位數讓你分析出十位和個位,按照上面演算法的尿性,比方說23/10商等於2餘3,上面的演算法是先放進去低位再放進去高位,而人閱讀是從高位向低位閱讀,因此,要倒著來輸出。

不知道這樣說你明不明白。。

其實再白紙上畫出幾個格子,或者開啟excel演算一下就明白了。。。把每一個格子當成是字串陣列的記憶體的話。。。

5樓:

for(i=strlen(s)-1;i>=0;i--), i的值抄從s字串的長度減1遞減到0,依次列印s[i]的值。

函式exchange中把十進位制轉換到16進位制數到s中,其順序是反的,所以,輸出時迴圈也反過來輸出。

for(i=strlen(s)-1;i>=0;i--,t<<=1)是什麼意思?

6樓:匿名使用者

for(i=strlen(s)-1;i>=0;i--,t<<=1)這個迴圈的目的是求出二進位制字串的值

其中i=strlen(s)-1;是迴圈的起點,即從字串的最右側開始處理。

i>=0;是迴圈的終點,即處理完最左側字串結束迴圈i--,t<<=1 //i--是保障逐個字元處理 ,t<<=1是獲得每個二進位制串中每位的權值,依次2倍,即1,2,4,8,16...

在c中, for( i = strlen( t )-1; i; i-- )是對的麼,怎麼解釋呢?

7樓:狗尾巴草的雨天

可以的啊,

bai 就是將i先賦值為dustrlen(t)-1,然後每迴圈一步zhii減一,直到daoi==0為止。此內時中間的式子為false。希望採容納。

中間雖然只有i但是i>0的時候為true可以執行,當i減小到0時變為false停止迴圈。

8樓:匿名使用者

是的對. 因為

0表示false, 非0表示true

當i>0時候, i; 表示式始終為true,所以迴圈執行當i減到0時, i; 表示式就變成false了,則for迴圈就終止了

9樓:匿名使用者

i為零的時候跳出迴圈,

10樓:匿名使用者

應該是死迴圈。。或不迴圈。。中間一項i出錯

11樓:匿名使用者

等價於:for( i=strlen(t)-1 ; i !=0 ; i - -)

程式中for(i=0;i<=strlen(a);i++) 的 strlen(a)是什麼意思.

12樓:亞吉那

你想知道它是什麼,很簡單的,用printf(strlen(a))把它的值輸出來,對比看看,就知道它是什麼了。

還有,不瞭解的函式,可以上msdn查詢,英文不會的話,可以通過查翻譯比對著看。

c定義變數i0for裡面i直到i加到了

for i 0 i if i 10 i 0 c 中for i 0 i 10 i i 這裡i 什麼意思,不是和i 衝突了嗎 i就一直等於0了?那有可能在從i 到i 之間有某些 也改變了i的值呢?所以,並不一定存在衝突。比如 for i 0 i 100 i 這樣並不衝突吧。在這裡 就相當於i自減1,i ...

計算13i1i,計算複數13i1i的平方,答案是3i。過程是什麼??請詳答。。。

1 3i 2e i 3 1 3i 1 i e 1 i ln 2 i 3 e 1 2 ln2 3 ln2 2 3 i e 1 2 ln2 3 cos ln2 2 3 isin ln2 2 3 僅供參考。計算 複數 1 3i 1 i 的平方,答案是 3 i 過程是什麼?請詳答。你的答案是對的,看 有過程...

for int i 0 i100 i請大神詳細解釋嗯嗯先謝了

int是整型變數,意思是定義一個整型變數i,i 是每次使用i之後,i的值增加一。i 100,是i只能最大是99,當到達100時就要跳出迴圈。其實這就是一個簡單的for迴圈意思是for裡面的內容要執行100次 c語言裡的一句基本語言,i為變數,這句話的意思是,變數i取整數值,從0開始遞增,每次遞增單位...