C 的for迴圈語句問題求解,關於C C ,for迴圈中的變數問題

2021-05-05 21:12:11 字數 1436 閱讀 1607

1樓:庫爾買買提

這個 題簡單的考了下 ,變數名 ++ 和 ++變數名這個概念;

變數名 ++ 是執行完+1;

++變數名 執行前 +1;

迴圈開始執行第一次,i =0,x=10,  10>8 ,列印x =10、y=10,執行x --,

這個時候,x 就等於9了,然後y 被賦值為 ++i ,y=1;

for 迴圈開始了第二次,此時 i =1, x=9,9>8, 列印x=9,y=1,執行 x--,x=8;

for 迴圈開始了第三子,此時i =1, x=8 ,8不大於8 ,所以迴圈停止了。

2樓:寒寒家

因為x初始化為了10,然後終止條件是x>8,然後迴圈體裡是x--所以進入迴圈之前,x可取10,9,所以就迴圈了兩次第一次迴圈相當於:cout<

第一次迴圈之後:y=++i; 也就是1

第二次迴圈:cout<

3樓:匿名使用者

迴圈判定是第二個分語句:x>8,因為x每次減一,迴圈一共進入兩次,每次輸出兩個,因此是四個數。

這個題目的難點其實是第2、4個數字,因為for的第三分語句是在迴圈後執行的,因此y第一次不變,第二次變成了第一次的賦值。

4樓:angel_愛呆呆

更具for迴圈的條件x>8來決定的 第一次i=0,x=10進入迴圈體輸出x=10 然後x--得到x=9y此時等於10 然後y=++i i的初始值是0所以y=1第二次迴圈i=1,x=9>8,進入迴圈體輸出x=9,y=1 計算y=++i的到y=2,第三次迴圈x=8,x>8不成立 跳出迴圈,迴圈結束;

關於c/c++,for迴圈中的變數問題

5樓:追悔七年

如果你是抄c語言編譯,在for中是不能定義變數的bai,c++編譯器du可以,在for中的變數作用zhi域在for**塊內,外部的j被隱藏dao.j在for中宣告時被賦值,是一次性的,for的迴圈體不包含賦值語句.

vc6中好像這種寫法有bug,for中的變數具有函式的生命週期.之後的版本解決了這個問題.

6樓:朱古力兜

是for迴圈括號條件裡面已經賦值的

for迴圈裡面定義的變數具有區域性作用域 會遮蔽在其他地方定義的同名變數

在c++裡是可以那樣寫的

7樓:匿名使用者

這樣bai

的寫法在老的c++標準du

下肯定是直接編譯zhi錯誤的,for 裡面的dao j 的作用域是和外面的j一樣的。

在新版的標準權

下,for 裡面的j作用域會比外面的j深一層,如果編譯不會有問題,下面scanf 裡面用到的j,肯定是for那定義的j。c++的名稱查詢規則是由近及遠的。

while語句的問題,c語言while迴圈的問題

這是兩種不同的迴圈結構 while 這是一個迴圈結構 這兒迴圈執行 中的內容 do while 這是另一種結構 這兒的迴圈是執行do 後面while之前的 中的內容 加 號是因為 do while 的語法要求要加 單獨while 不加分號,就像for迴圈後面不加分號一樣!這些都是語法要求。第一個是w...

關於c語言for語句的問題,關於C語言for語句的問題

這兩個程式是不同的,for語句在不加大括號情況下只迴圈到之後的一個分號,即前一個程式迴圈體包括printf 輸出為1234 後者迴圈體中不包括printf 執行完for語句後,再執行printf 輸出為5。第一個for迴圈的迴圈體內有一條語句,那就是printf,每次迴圈都要執行一次迴圈體內的語句,...

c語言for迴圈問題,c語言 for迴圈問題

你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且...