c語言中,forj1jnj怎麼理解

2021-03-05 09:21:59 字數 1548 閱讀 8124

1樓:窗邊消失的糖

首先我先解釋一下這段程式

ch=w[0]; //把第一個存到ch裡for (j=1;j到最後一個全部往前移一位w[n-1]=ch; //再把ch裡的值存在最後一位(因為是從0開始存,共n個,所以最後一位是n-1)

也就是說這一段程式是把第一個移到最後,剩下的順次向前平移。

而最外面那個for則是把這個操作重複p遍,於是前p位就被順次平移到了最後

好了,開始回答問題

1)不能,因為每次平移完之後的w[0]都不一樣,比如 1 2 3 4 5 ch=w[0]=1平移一次之後 2 3 4 5 1 ch=w[0]=2平移二次之後 3 4 5 1 2 ch=w[0]=32)不對,應為這個for是往後移,所以是要把所有的都往後移一位,再重複p遍

3)已經解釋過了,自己看上面

2樓:匿名使用者

題目有點不清楚,是平移一位,一直到最後。還是空出當前陣列的位置,把當前陣列的元素加到原陣列後邊?

c語言for(j=1;j<=9;j++) for(i=0;i<=9-j;i++) 這兩句到底咋個迴圈?

3樓:匿名使用者

前面兩個迴圈不解釋,如果前面你都不明白那下面的你不用看了。回去先看看書好了。

for(j=1;j<=9;j++)

for(i=0;i<=9-j;i++)

第一次執行外層迴圈for(j=1;j<=9;j++),j為1,小於等於9,執行迴圈體。然後進入內層迴圈for(i=0;i<=9-j;i++),此時j為1,所以內層迴圈的條件判斷為i小於等於9-1,按照這個條件執行迴圈。當i==9的時候退出內層迴圈,執行外層迴圈第三個表示式,執行後判斷迴圈條件仍然滿足,繼續執行。

此時j為2,內層迴圈j的條件為j<=9-2。按照這個順序完成迴圈的執行。

迴圈執行次數為

外層迴圈執行9次

內層迴圈在外層迴圈第一次執行的時候執行9次,第二次8次 。第三次7 。。。。。。

4樓:樂跑小子

這是一個雙重迴圈

for(i=0;i<9;i++)

其中for(j=0;j<9;j++)是for(i=0;i<9;i++)的內嵌迴圈

i從0到9,i取一個值,j就從0取到9,共迴圈9次

5樓:匿名使用者

for(j=1;j<=9;j++)

for(i=0;i<=9-j;i++);前面迴圈9次,每迴圈一次後面的迴圈少一次。 表述的有點不明,你慢慢理解。

c語言中for(i=1,j=3;(j<5)‖(i>3);i++,j++)代表什麼意思?

6樓:傅鬆蘭機凰

這是一個for迴圈

bai,du第一次進入迴圈時初始化zhii=1並且j=3並判斷是否滿足兩個

dao分號中間的那個判版斷條件

權即(j<5)||(i>3)這是一個或語句只要滿足一個為真則條件就為真,最後迴圈疊加,在for語句執行完後為i和j都增加1

不知道明白沒有,可以追問

請問在c語言中1ll的意義,請問在c語言中1LL的意義

這個ll是long long int的意思,就是長長整型,c99標準的新東西。1ll也就是長長整型的1。c語言中的printf scanf sprintf sscanf等函式中需要用格式字串來控制資料的輸出格式。比如 printf lx 65535 將65535輸出為十六進位制格式 輸入引數 lx ...

在c語言中a為什麼是合法的,在c語言中 a 1 為什麼是合法的

是取地址符,是取地址裡面的內容的符號,a 1 相當於一個指標 即陣列元素a 1 的地址 a 1 當然是取地址 a 1 裡面的內容了,就是a 1 的值。c語言裡就是合法的,按照優先順序進行 相當與 a 1 因為在c語言中,du 代表獲取地址zhi的dao內容,代表獲取地址,然後根據運 內算符的優先順序...

c語言中怎麼表示除法,C語言中怎麼表示除法

5處以2這樣寫 5 2結果是取整數的也就是等於2 是除法取餘數好好看看數吧 c語言中除號用 表示,相應的,乘號用 表示 a b 表示a除以b,但是需要注意,當a b均為整形時,運算為求出不大於商的最大整數,如10 7 1,5 2 2,13 4 3 相對應,a b表示求a除以b的餘數 如果要實數除法,...