C語言問題,難住了,過來幫忙?

發布 教育 2024-08-08
7個回答
  1. 匿名使用者2024-01-31

    原來ACM的問題,LZ做不到,所以不要折磨自己。

  2. 匿名使用者2024-01-30

    您好,很高興您的問題。

    對於本主題,主要測試是檢查 if else 函式的匹配用法。 必須記住這個知識點:if 總是與它前面的、最接近它的 else 匹配,並且不匹配其他 if。

    如果 if 語句有多個層,則必須匹配最裡面的 if 和 else。

    那麼當我們分析的時候,從最外面的if開始,if(a=b+c),其中a=b+c是賦值語句,是永恆有效的條件,句子a=b=c=-1就不執行了; 而在這種情況下,a 的值是 0+-1=-1,那麼 a>0 和 a==0 不滿足,所以執行倒數第二個 else 語句,所以最終結果是 a=b=c=1,所以答案應該是 a。

  3. 匿名使用者2024-01-29

    首先,這個如果問題確實有效,答案不是而:

    編譯錯誤。 無法通過執行進行編譯! 即使新增了標頭檔案,我得到答案 a,仍然有編譯警告:

    因此,為了獲得答案 a,您需要修改以下兩個地方:

    錯誤修改。 執行結果:>執行程式的結果。

    只有這樣,我們才能得到答案,有些學生可能會有疑問,為什麼不是C? 請注意,a=b+c 不是關係表示式如果是答案 c,則關係表示式應類似於 a==b+c。

    程式執行結果:

  4. 匿名使用者2024-01-28

    這個問題的關鍵是測試學生的觀察能力。

    事實上,將關係運算子 (==) 的等價性寫成賦值字元 (=) 是初學者最常犯的錯誤。

    在if(a=b+c)句子中,原意是比較a和b+c是否相等,正確的表示式寫法是a==b+c,所以如果兩者相等,則表示式的值為true,執行if之後的語句,否則執行else之後的語句。

    在這個問題中,如果你沒有犯雙等號,就是要確定A和B+C是否相等,前面的abc是2 0-1,A+B是-1,2≠-1,表示式的值是false。 程式在 elset 之後執行 a=b=c=-1。

    現在,標題被故意寫錯了,它使用 a=b+c 作為 if 語句的判斷表示式,我們看一下它的值。 首先,a=b+c是乙個賦值語句,它將b+c的值-1賦值給a,即a=-1,然後判斷其邏輯值,它使用a的值作為邏輯值,c語言將數字的邏輯值解釋為除0之外的邏輯值, 這在邏輯上是錯誤的,所有其他非 0 數字在邏輯上都為真,因此 a=-1 的邏輯值為真。

    這很有意思,程式判斷邏輯為真,會執行if語句背後的內容。 但它後面仍然跟著乙個 if 語句,它是:

    if()else if()

    else 結構,首先判斷 a 是否為 0,因為 a=-1>0 是 false,繼續判斷 a=0 是否,a=-1≠0 仍然是 false,最後只能執行 a=b=c=1 之後。

    因此,最後列印出選項 A 的 1,1,1。

    結論:選項A是正確的。

  5. 匿名使用者2024-01-27

    有關語句的執行和判斷過程,請參見 **:

  6. 匿名使用者2024-01-26

    第乙個等價於y=y+(i++),所以y=3+2=5;(這裡的 y 是在函式中臨時定義的,遮蔽了外部的全域性變數)。

    在 main 函式中,y=y+(i++)2+2=4;(這裡的 y 是乙個全域性變數,注意 i 仍然是 2,因為函式傳遞的引數不會改變引數)。

  7. 匿名使用者2024-01-25

    第一步是a=b+c是賦值,表示式的值是新的a,為-1,所以if(a=b+c)為真,然後就沒什麼可解釋的了,最後取a=b=c=1分支。

相關回答
11個回答2024-08-08

#include

#include >>>More

4個回答2024-08-08

光環:大一新生的課程設計作業不嗎?

2個回答2024-08-08

c** 如下所示:

執行的結果是: >>>More

14個回答2024-08-08

連線交流電,A'c,ab =a'b

s △abc=s△a'bc >>>More

13個回答2024-08-08

在樓上,第乙個是宣告,因為函式是後面定義的。 >>>More