C語言問題,C語言問題,求助

2021-03-03 23:51:07 字數 3933 閱讀 2305

1樓:匿名使用者

while語句的執行順序:

1.判斷x的值(非0為真,0為假)

2.執行--

3.執行{}裡面的**。這裡是空,所以沒任何動作。

所以會一直迴圈到x=0,判定為假,迴圈終止。接著執行減減,最後列印結果為-1

c語言問題,求助

2樓:北京最遊科技****

這題是迷惑人用的......

因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。

最終a的值為11

3樓:岔路程式緣

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

直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。

所以,最後列印a的值是11,選項b。

c語言問題?

4樓:友有友

嗯你的理解是對的,break就是用來跳出的switch,如果沒有break時就像你說的那樣,當其中乙個case符合條件是,後面的全部語句都會當做成立的條件去執行

5樓:yfgh無悔

如果所有的case都不符合,就會執行default語句,之後會跳出這一層,繼續執行下一次迴圈。

6樓:蒼穹夜光

首先求解表示式,其計算結果若與下面某個常量表示式相等,則執行完該case,一專般後面後面加上break;跳出,

若該case沒有break,執行完後,後面的case會依次執行,直到碰到break,不然就會執行完所有語句。

對於你的問題,沒有break,舉個例子,若屬表示式結果為 第三個常量表示式,會執行完語句段3到語句段n+1所有語句。即(如果表示式的值與某個常量表示式的值相等,則執行該常量表示式後的所有語句段)

還有一般default後面只有乙個語句段,說所有語句段不太合適。

應該是對的。

7樓:荊芳菲力蒼

這是一來

個for語句,根據for語句的源形式:for(語句bai1;語du句2;語句3){函式體;}

的執行順序是zhi:語句1,判斷dao語句2是否成立(非0為真,0為假)函式體,最後是語句3,(£)再進行判斷語句2,是否成立,在執行函式體,語句3

,在執行(£)知道條件不滿足語句2,跳出迴圈;如果,語句2是非邏輯表示式,即非判斷語句時,迴圈體內,必有滿足條件的跳出語句

break,否則為死迴圈;

這裡的for(k=1;k+1;k++)

可以這樣解釋:執行迴圈for()語句時,初始條件

k=1;之後執行

k+1(k=2,非0,條件為真繼續執行)之後執行函式體for下面花括號{}的內容,之後在執行

k++(k自增1)

所以,明白for()語句的執行順序就可以明白了,明白了嗎?

8樓:金蔚逮忻歡

main函式雖然是主函式、它是程式執行的開始處、但是、它也是函式、所以、也有返回值專和沒有返回值屬

c99標準規定main函式必須是int

返回值return

0;至於返回值是返回給作業系統的!

void

main

就是沒有返回值

9樓:蘇幹孟暢然

intmain()

在函式結尾需要給出返回值

void

main()

就不需要了。

一般,對於寫程式的來說,這兩個差別不大。

但是,不同編譯器對此的處理可能不同。

10樓:宋來吳冰菱

這一段**的思想是動態規劃

dp[j]

=dp[j]

+dp[j-a[i]];

拼出j的個數等於拼出j-a[i]的個數加上原本拼出j的個數

11樓:牧典表秀美

是的。表示已經定義了max這個巨集,而這個巨集的內容為空。如果後期進行巨集替換則該巨集被替換為空的內容。

比如int

a=max-5;就替換成int

a=-5;

12樓:覃奧韋向

可能是你沒有給兩個變數賦初值,你加兩句賦初值語句在試試看,希望能對你起到幫助

13樓:權敬枝浩然

int(*p)[5]

這是乙個陣列指標

說明變數p是乙個指標,指向了乙個容量為5的陣列。

14樓:顧宜世依白

有區別假如你用的int

main()那麼你程式執行結束後的程序狀態值是在main裡返回的值。如果void的話,其他程式就不能得到你這個程式的結束返回值。。。

15樓:襲邵隱春燕

str1+strlen(str1)/2

strlen(str1)=13(空格也是1個)str+6是&[6]的位址

strcpy(str1+strlen(str1)/2,"esshe")

是將es

she複製到str1+strlen(str1)/2去,就是從第六位開版

始你說的也對權!

c語言問題?

16樓:澄雯賽空

for(k=1;k+1;k++)

中,k=1是設循bai環du的初值,zhik+1是執行循dao環的條件,k++是迴圈的增量回。

k=1時,k+1=2,為非0,c語言中,0代表答假,非0代表真。

所以,k=1時往下執行迴圈,

滿足k<4

列印k的值,即1。

break

退出for

迴圈,下面的printf("%d",k++);

沒有執行。

所以,程式的執行結果是1

17樓:聽不清啊

最後資料型別自動轉換的結果是double型,因為是向長度最大的型別轉換的。

18樓:匿名使用者

應該是d double

19樓:叫我淡藍

s是char型別,可以ascii變int型別115

115+23-2.56=135.44

所以選b

20樓:褚姣姣威智

答案是b。。多維陣列的元素是線性儲存的。所以在記憶體中a陣列是存放在一片專連續的記憶體空間裡。元素的順

屬序為:a[0][0]

a[0][1]

a[1][0]

a[1][1]

a[2][0]

a[2][1]

。c語言對陣列下標越界不作檢查,所以a[0][2]是合法的。它相當於a[0][1]的下乙個元素。

而a[0][1]在記憶體中的下乙個元素其實是a[1][0]。所以a[0][2]=a[1][0]=1

3/2/1,結果是1啦。。

21樓:森布彭宣

可以對調,也可以寫在同一行

disc的意思是將b*b-4*a*c運算得到的值賦給disc,也就是說它是乙個變數

22樓:蟻昂雄賞敬

1,逗號表示式的值是最後乙個的值,前面給t賦值為1,然後t+5只是做了運算,沒有把值賦給t,最後t自加,但是是後自加,所以先取其值在自加,整個表示式值為1,t為2.

23樓:納喇樂松丘火

錯誤為d

原因:要說明這個錯誤的原因我要先解釋下什麼叫做函式形參函式形參就是函式的形式引數

也許這樣說你不太明白

舉個列子吧

例如:函式:int

test(int

i)說明這裡的i就是形參

所以d是錯誤的

24樓:冷冷冷冷

很高興為您解答!

答案選b哦

C語言問題,c語言問題

int a 4 void main int a 2 這種局 bai部變數,會du隱藏掉上一級 定義zhi的同名變數,下面dao 也是一樣回 中有效。所以上面的復合語句中,會輸出0,下面呼叫sub1時,實際上傳入的是main中的int a 2 又有a a 1,所以會輸出1,下面也是一樣的,main中的...

C語言問題,c語言問題?

include include include typedef struct nodelinknode,link void main link pa s int da int flag 0 pa head 讓pa指向頭結點 dowhile flag 0 link pb head pb pb next...

C語言問題C語言程式設計問題

include include void main 氣泡排序按英語詞典規律排序 for i 1 i 5 i printf the country s after sort is n 排序後的國家名稱 for i 0 i 5 i 這段 經過除錯沒有問題,明天有面試,寫個練練手,祝福我吧 樓上你把注釋寫...