for語句裡面的逗號表示式,怎麼算啊

時間 2021-10-17 05:10:03

1樓:匿名使用者

這應該是當k=4時的結果,因為要對s賦值,所以k=2是沒有用的,然後k=k+2=4,

s=1+4=5;s=5+5=10,所以s=10

2樓:匿名使用者

在第一層for()迴圈裡面,每次進入for()迴圈s都被初始化為1,所以 s的值為最後一次第二層迴圈後的值,最後一次進入第二層迴圈是k=4

第一次k=2,k++兩次k=4,此時進入第二層迴圈s=1+4+5;

最終s=10

逗號表示式就是依次計算值就是了,最終值為逗號表示式的最後後面一個值如:逗號表示式是有值的,這一點是語句所不能代替的。逗號表示式的值為第n個子表達 式的值,即表示式n的值。例如:

int a,b,c,d;

d=(a=1,b=a+2,c=b+3);

cout<

輸出結果為:6

3樓:史其饒學林

for(k=2;k<6;k++,k++)

k=2被

k=6覆蓋

答案補充

把s=1

當地一個

for迴圈

外面就可以了

答案補充

每次執行第一個for

迴圈的時候

都會把s重新賦值為

1所以出錯;!

c語言中,for 迴圈中哪些是逗號表示式?

4樓:明月看盡滄桑

for迴圈是根據while迴圈的格式變形,其對比如下:

所以在對應的while迴圈格式中,能用逗號表示式的地方在for中也能。

5樓:鬱_詩

首先,你所舉的例子中有三個逗號表示式:

a=1,b=0,c=0

a<=9,b<=9,c<=9

a++,b++,c++

(ps:表示式是不含分號的。)

下面這個程式會加深你對逗號表示式的理解:

#include

void main()

程式執行輸出:a=4,b=3

可以看出:

一,逗號表示式會對每個式子都執行運算,如"b=(++a,a++,a++);"這一行,執行完++a後,a的值就變為2了;

二,逗號表示式是從左到右運算的;(若從右到左,則b=4)三,整個逗號表示式的值為最右邊式子的值;

6樓:米水胡餘

這個for可以這樣理解:

for(表示式1;表示式2;表示式3)

表示式1 是賦值語句,相當於變數初始化

表示式2 是判斷語句

表示式3 相當於普通語句了

不知道這樣的解釋是否能接受?呵呵……

關於c語言中for語句的逗號表示式

7樓:it孤鶩

逗號運算子

(表示式1,表示式2,。。。。表示式n)

上面的逗號運算子的值為:表示式回n 的值那麼答開始 i=1

i++,i++

先計算左邊i++ 這時i=2, 再計算i++ =2 但是i=3

表示式的值為 2

8樓:無涯

i++,i++是一個語句,比如i原是1,則這個語句執行後,i是3.

親 懂了嗎

c語言for()迴圈括號裡的逗號運算怎麼用

9樓:匿名使用者

舉例:for ( i=0,a=5;i<100;i++ )其中i=0,a=5就是逗號表示式,順序執行即可,先執行i=0的賦值,然後執行a=5的賦值

如果是:for ( i=0;j>4,i<100;i++ )這涉及逗號表示式的取值,執行順序仍然是順序執行,取值是逗號表示式最後一個式子的運算結果,如果是賦值語句,則是賦的值的結果。這個例子的迴圈條件是i<100的滿足情況

10樓:

逗號兩邊的式子按順序一次運算完

c語言for中的兩個判斷條件用逗號連線應該怎麼算

11樓:008列出

首先,這相當於一個複合語句的巢狀,外層是判斷,內層是逗號運算;

其次,逗號運演算法則是看最後一個分句,也就是實際上只有最右邊的判斷條件有效;

最後,說明:用&&符號把兩個判斷條件連線起來才表示要同時滿足這兩個條件。

12樓:洪碧戎

看逗號表示式中最後一個表示式

關於c語言for語句初始化表示式裡的逗號 5

13樓:匿名使用者

你的判斷

條件不對 你的判斷條件是賦值語句,把1賦給k,一直成立,所以一直迴圈不會退出,然版後k++。然後救權死迴圈了。

裡面的逗號是逗號表示式, 逗號表示式就是,逗號的前後面的表示式都會執行一次。

在進for迴圈時,會先將i = 0,在k=-1.

14樓:花落へべ若相惜

其中判斷條件k=1是賦值,不是判斷,也就說每次判斷條件是否成立的時候都執行一下k=1,不為0,所以繼續迴圈

15樓:匿名使用者

因為k沒有限制

for(i=0,k=-1;k<100;k++)//像這樣的話k就不是無限了。只執行101次就退出迴圈了。

16樓:匿名使用者

逗號運算子

for第一個分號之前是初始化,也可這樣寫

i=0;

k=-1;

for(;k=1;k++){} // k=1要注意了,這裡是應該判斷,比如k<1或k==1;

c語言程式中的for迴圈語句有時要用逗號表示式,這裡的逗號表示式具體有什麼作用啊?? 10

17樓:匿名使用者

是逗號嗎?好像是分號吧?!

for迴圈語句中一般為三個表示式,第一個代表初始值,第二個代表範圍,第****迴圈方式,分為++或--

18樓:匿名使用者

for的括號裡面,bai

兩個分號把三個條件du分隔開,逗號zhi的作用是一個條dao件中可以是幾個表示式,回這幾答個表示式從左到右的順序執行,最後返回的結果作為最後for的條件!

你需要看看c裡面各個標記符的作用和使用,才能理解。

19樓:匿名使用者

將幾行語句合併為一行(用逗號隔開的)

初始化指令或條件判斷指令或迴圈步長指令(就是for中兩個分號隔開的三條指令)其中一項(或幾項)不止一條時用逗號隔開(因為不能換行)

20樓:小☆☆白

逗號操抄作符主要的作用是可以在執行一bai步操作du前,可以執行另一個操作,而且又不

zhi影響返回dao值

#include

int main()

return 0;

}這個程式看明白了吧,

一般不建議這麼寫,可讀性太差

21樓:星空蛇語

逗號運算子是

baic中優先順序最低du的,被它分zhi隔的表示式將被從左到右依次求dao值。

專例如:

for (i = 0, j = strlen(s)-1; i < j; i++, j--)

這裡沒法用屬分號,否則會和for中用於隔開迴圈控制的三個語句的分號混淆在一起。

逗號運算子也適用於其他關係緊密的結構,如交換兩個變數的值可以寫成tmp = a, a = b, b = tmp;

但應該慎用,分號沒啥不好。

22樓:我可以抱你

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

sum = sum + i;

有逗號嗎?

表示式和語句的區別,JS表示式和語句的區別

prince孫雨彤 表示式是用數或字母表示的式子,數學中所有的式子都是表示式,方程等式,不等式,解析式,都是表示式。代數式是數與字母的積,單獨一個數或字母也是代數式,而方程,等式,不等式都不是代數式。解析式是對函式而言,函式解析式,也叫函式表示式,函式關係式,但不能叫代數式。 仰春桖 表示式是在運算...

JS正規表示式怎麼過濾逗號和引號

split 方法用於把一個字串分割成字串陣列。語法stringobject.split separator,howmany 引數separator 必需。字串或正規表示式,從該引數指定的地方分割 stringobject。howmany 可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返回...

C語言逗號表示式,C語言中逗號運算子怎麼用

int main 結果 value 8逗號表示式從左往右計算。但返回右邊的資料值作為表示式值 1.k 3 2 k 6 2.6,k 4 表示式返回10,k仍為63.10,k 2 k為6,表示式返回8。依靠非常全面的運算子和多樣的資料型別,可以輕易完成各種資料結構的構建,通過指標型別更可對記憶體直接定址...