C語言請問這樣做有錯嗎?給迴圈陣列賦值設臨界點

時間 2022-06-02 16:35:08

1樓:

1全部就是for迴圈沒學會吧。那就講一下for迴圈和陣列應用。

就拿你的這個程式舉例子好了,定義了乙個整型陣列a[3],然後看這段**:

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

for迴圈的括號裡面有三個東西,for(賦初值; 迴圈條件; 步長)

賦初值就是給迴圈變數(相當於乙個計數器)賦初值,當然也可以初始化其他的變數。第乙個分號後面是迴圈條件,只有滿足迴圈條件才執行迴圈體內部的語句,不滿足則跳出迴圈。第二個分號後面是迴圈變數的自增步長,就是每次迴圈結束以後,迴圈變數要增加或減少多少,當然也可以執行其他的運算,按照需求來。

運算過程如下:

進入for迴圈後,

第一次迴圈:i = 0,給變數 i 賦初值為0,然後判斷 i < 3,如果i 是 小於3的,那麼進入迴圈內部執行for迴圈裡面的語句,即a[i] = i。

這裡,i 是等於 0 的,那麼a[i]就是a[0],a[i] = i的意思就是a[0] = 0,也就是說,給陣列a的第乙個元素(即下標為0的元素)賦值為0。接著a[i]=i這句執行完了,接著執行的是for迴圈的步長自增語句,即i++。i++和i=i+1是等價的,所以執行完這句語句以後,i的值從0變成了1。

到這裡,第一次迴圈就結束了,現在執行第二次迴圈。

第二次迴圈:第一次迴圈結束以後,進入第二次迴圈之前,先要執行for迴圈的第乙個分號後面的語句,就是迴圈條件判斷。即i<3。

在第一次迴圈結束後,i的值是1,那麼1是小於3的,因此符合該條件,開始執行迴圈體內部的語句a[i] = i,這裡,i的值是1,那麼a[i]就是a[1]了,也就是陣列a的第二個元素(即下標為1的元素),執行完以後,又跳回for迴圈的第二個分號後面了,執行i++,執行完i++以後,i的值從1變成了2。接著開始第三次迴圈。

如此往復,第三次迴圈結束以後,i的值變成了3,在執行第四次迴圈的時候,首先進入for迴圈的迴圈條件判斷,也就是第乙個分號後面的語句,i<3,這個時候i的值是3,3<3是不成立的,因此從這裡開始跳出迴圈,第四次迴圈也就不執行了。

迴圈結束以後,陣列a就變成這樣了:a[0]=0,a[1]=1,a[2]=2。而i的值在此時為3。

自己一步一步寫出來for迴圈的執行步驟就好了。

總結:for(賦初值; 迴圈變數; 迴圈變數自增)

這句語句的執行順序是:

1.賦初值。

2.判斷迴圈條件,若滿足條件執行第3步,若不滿足條件執行第6步。

3.執行迴圈體語句。

4.迴圈變數自增。

5.執行第2步。

6.跳出迴圈。

2樓:

int sum=0;

for(int i=0;1;i++)

這樣寫使用break語句跳出陣列,否則a[i]未賦值,直接判斷永遠不會等於-1.

c語言,怎麼用for 迴圈給陣列賦值 ? 說的簡單詳細點, 謝謝了

3樓:灩麗

1、首先開啟c語言專案,輸入如圖所示**建立乙個int型別的陣列。

2、然後規定陣列的

回大小,輸入如圖所示**答設定陣列儲存資料。

3、然後在mian函式中,建立int型別的變數i,輸入如圖所示**用for語句。

4、輸入如圖所示**在for語句中進行迴圈。在for語句中,利用printf語句。

5、然後設定輸出的型別,輸入如圖所示**再寫入輸出的物件。

6、然後點選執行程式,就可以看到陣列的所有資料。

4樓:匿名使用者

乙個簡單

抄的例子

int main()

return 0;}

5樓:匿名使用者

const int max_szie = 200;

int arr[max_size] = ; //良好抄習襲慣,

bai定義

du先初zhi始化

daofor ( int i = 0; i < max_size; i++)

{arr[i] = i;

c語言中用scanf和迴圈語句是怎麼給陣列一一賦值的,希望說得詳細點

6樓:匿名使用者

#include int main(void)for (i=0;i<10;i++)

return 0;}

7樓:匿名使用者

8樓:匿名使用者

同樣的,用for乙個個賦值for(i=0;i

9樓:匿名使用者

定義乙個變數,從下標0開始,一直到n-1個為止。這就是輸入和輸出的迴圈

c語言利用迴圈給字元陣列賦值

10樓:

#include

int main()

cstr[i] = '\0'; // 字串結束符i=0;

while(cstr[i]!='\0') // 判斷字串是否結束printf("\n"); // 輸入回車換行return 0;

} 最簡單的**:

#include

int main()

11樓:

可以用puts();

下面看我寫的**

#include

void main()

先是賦值給str然後輸出,用了puts()函式。

望採納哈!!

12樓:匿名使用者

#include

void main()

【c語言】如何給一堆 陣列 整體賦值 ?

13樓:匿名使用者

你只須給至少乙個賦0值就行了。如

int a[1000]=;

或int a[1000]=;

因為如果有至少乙個賦值的話,編譯器就會給那些沒有給定值的預設初始值。

14樓:匿名使用者

用for迴圈把個個元素賦值,不過

c語言:定義一整型陣列,用迴圈實現從鍵盤上給陣列賦值,並用迴圈實現顯示陣列中的值

15樓:匡匡幹

#include

int main()

16樓:匿名使用者

#include

void main()

c語言,結構體中的陣列怎麼賦值,?

17樓:yesyes科

1、首先開啟vs2010軟體,新建乙個專案,如圖所示。

2、裡面包含標頭檔案,如圖所示。

3、然後輸入入口函式main。

4、接著定義乙個結構體,宣告結構體變數,如圖所示。

5、然後給結構體裡面的成員變數賦值。

6、最後列印結構體成員,輸出結果就完成了。

18樓:老朱

s.a[0]=1;

s.a[1]=2;

19樓:

你程式中的那種賦值方式只能在陣列定義的時候賦值,定義完成後,就要乙個乙個的賦值。比如:s.

a[0] = 1;s.a[1] = 2;如果賦值有一定規律的話,可以用for迴圈;如果賦的值一樣的話,可以用 memset(s.a,0,sizeof(s.

a));,memset一般用於陣列初始化和清零。

20樓:匿名使用者

如果沒記錯的話只能是陣列初始定義的時候才可以這樣賦值。

只能乙個乙個賦值,s.a[0]=1; 這樣是合法的

想給陣列賦值的話用迴圈吧

21樓:army1椒rz迫

對於已經定義好了的陣列,肯定不能用這樣賦值啦,給結構體賦值其實就跟其他的變數賦值一樣,難道你可以

int a[3];

a=;這個給乙個int陣列賦值嗎,不行啊。

正確的做法就是像其他變數一樣乙個乙個賦值,當然也可在結構體初始化時賦值

請問這樣可以嗎,請問這樣化簡可以嗎(如圖)?若不行,請說明原因,謝謝。

可以啊,只要你不怕別人誤會你就行。你喜歡的話,叫小花,小麗也行啊,就是別人會笑你,抗的住就好。又不會傷害別人。建議不要吧這個名字太女性化了,你可以在虛擬的網路中起個舒紫倩的網名吧,在現實生活中還是不要了吧 舒紫倩,很不錯的名字o 的都是網名,別名,筆名 想在外面用別人對你的稱呼是舒紫倩的確怪怪的不過...

請問 這樣的女人可否做妻子

說實在的你可別傷心哈從事件一看來他並不尊重老人 這裡說的是你家人 不論如何你家人都提出來了,就算在害羞你覺得在現在這社會至於的嗎?因此他不會孝敬父母至少是你父母事件2說明他不是肯吃苦的人,還不理解人,現在的國企不是那麼容易進的吧?他那樣的進國企 過不了兩天也得出來還是你養,至於入贅不入贅完全看你自己...

c語言程式設計請問這個程式中clrscr為什麼有問題

你可能和糾結,為什麼clrscr 功能沒有用,編譯器還報錯,對不?呵呵 其實,有兩個問題 1 clrscr 是在標頭檔案conio.h下的函式,原型是void clrscr void 於是,你 好像懂了 便在你原有程式的基礎上加了一個 include 但是很不幸,編譯器依然報錯,甚至發出 clrsc...