c語言中,下面程式的執行結果是c語言,下面程式執行的結果是什麼?

2021-03-09 15:48:51 字數 3491 閱讀 5940

1樓:未來需努力點綴

你好bai

1.程式的執行結果是:1,-2

2.解釋每一du步的執行過zhi程:

#include

void main()

while(y--);

}printf("%d,%d\n",a,y);

}從y=2,a=1開始哈

(首先我dao們要知道後自

減內y--型的返回容值是y自減前的值 例如y=2 y--就返回2)

進入while迴圈

y--返回2 不等於-1 (此時y=1)於是迴圈繼續進入do while迴圈

執行a*=y;a++後

a=2 y=1

y--返回1 是非零 於是do while迴圈繼續進行 (此時y=0)

執行a*=y;a++後

a=1 y=0

y--返回0 於是do while迴圈終止 (此時y=-1)再判斷while的迴圈條件: y--返回-1 於是while迴圈終止 此時y=-2

(講的比較多 希望樓主能理解了)

2樓:天蠍戀歌

2和0。自加和自減在後面都是完成當前語句才會執行。

do while 和while 一個是先做再判定,一個是先判定再做。

求給最佳啊。。。

3樓:貪戀

2,0…若是不懂自增自減運算,請繼續追問,我會發一個檔案給你,關於自增自減的

c語言,下面程式執行的結果是什麼?

4樓:

最後輸出「1711717」

過程:進入fun後s1指向字元『1』,回s2指向答字元'7'

t = 』1『,

s1指向』2『,( w = "1234567")w = "1734567",s2指向』6『w = "1734517"

t = 7,s1指向』3『,(w = "1734517")w = "1714517",s2指向』5『w = "1714717"

t = '1',s1指向』4『, (w = "1714717")w = "1717717",s2指向左數第2個』7『w = "1711717"

s1 == s2, break

函式fun返回,輸出1711717

5樓:羊合滕峻

a你理bai解錯了,在c語言裡

不能這樣du

用的,只能zhi寫成

daoa的真正意思是(a專(a給出的結果屬是真(1)或假(0),所以其實a

第一次比較,a

,使得a=2,b=1,c=1

第二次比較,a

第三次比較,a

最後的結果

還是a=1,b=2,c=0

6樓:賴元範飛雨

結果為f;

這是因為經過strcpy函式之後,a[0]='a',a[1]='b',a[2]='c',a[3]='\0',但並沒有改變a[4],a[5],a[6]的值,其中

a[4]='e',a[5]='f',a[6]='\0'

但是當字串a作為整體輸專出屬時,只輸出abc。遇到結束符號'\0'就結束。

7樓:姒中衷碧琴

第一步:abai關係表示式du,a真,

結果為1,1小於c,結果是zhi真,所以daoa面的語句。得內a=2,b=1,c=1.

第二步:容a假,結果為零,零小於c,結果是真,所以a

第三步:a

8樓:夫夢畢安陽

其實是這樣的while((a

第一次=1

b=1a=2

第二次t=2

a=1b=2

第三次不滿足條件,結束迴圈

c語言題目 1.下面程式的執行結果是( ) 50

9樓:聽不清啊

其中有不少小的錯誤,作為程式它是不能執行的。

#include

int main( )

while(y--); }

printf("%d,%d",a,y);

return 0;

}執行後的輸出是:

1,-2

分析執行過程:

y=2,a=1;

判斷,為真,y變為1

進入do迴圈:

a=1*1=1; a++變為2

內迴圈判斷y--為真,y變為0;

再次內迴圈:

a=2*0=0; a++變為1

內迴圈判斷y--為假,y變為-1;

外迴圈判斷為假,y變為-2;

所以,最後的輸出是1,-2

10樓:左京壽美子

c語言中 -1<=i<1 這樣的語句是無法達到你要的效果的,對於這個句子,c語言是這樣處理的: (-1<=i)<1 (1) 這樣的話,-1<=i為真,所以這個表示式的值為1,也就是說(1)這個表示式等價於(1<1)然後這個式子為假,所以不會進入該迴圈,所以i沒有發生變化,也不會輸出i,所以答案為-1 如果for迴圈寫成這樣:for (a=1,i=-1;-1<=i&&i<1;i++) 那麼題主你的答案就對了。

11樓:違章動物

#include

int main(void)

while(y--);

}printf("%d,%d",a,y);

system("pause");

return 0;}

12樓:不要見毿

執行結果是:1,-2

(c語言)請問下面程式執行結果是什麼

13樓:匿名使用者

答案為: 5;7

因為你定義了全域性變數 a , b 在函式fun()內對全域性變數a ,b進行了修改,專

而你又在main函式裡定義了兩個屬區域性變數 a , b 這樣,你定義的全域性變數就會被著兩個區域性變數遮蔽,即不起作用,

如果你在註釋掉定義區域性變數的語句 如下:

int a,b;

void fun()

main ()

得到的結果是10;20

你試試!

14樓:百寶袋

5;7fun()並沒傳任何引數進去,也沒任何返回值。main函式裡定義的a,b值不會被改變的。第一行的a,b是全域性變數。

但main中重定義了,所以上面的a,b下面的a,b不是相同的變數。

15樓:匿名使用者

5;7用的是區域性變數

C語言問題下面程式的執行結果是

看看程式逐步運du行跟蹤結果zhi i 1 i 1 i 5成立dao,開始版迴圈權 i 2為真,printf輸出 printf累計輸出 i i 2 i 5成立,繼續迴圈 i 2為假,continue i i 3 i 5成立,繼續迴圈 i 2為真,累計輸出 累計輸出 i i 4 i 5成立,繼續迴圈 ...

c語言下面程式段執行完成後的輸出結果是

輸出 2 x 2是賦值語句,成立,執行printf,因為是x 所以先輸出x,x再自加,故答案是c 下述程式段的輸出結果是 int x 10 int y x printf d,d x y y 答案是 11,10 先放張圖,規律bai很容易看出來吧 du首先,逗號 zhi運算子是 dao取右邊 這裡涉及...

C語言以下程式的輸出結果是includestdio

三個指標全部指向各自相應的變數等價,所以這個問題你可以這樣解決 第一題的答案是 第二題的答案 c語言 38.填空題 以下程式的輸出結果是 include int fac sum int n 累加到加入bain t n s s f 儲存最近的計算階乘的n值,以及累加n return s 該程式的作用是...