以下程式執行後的輸出結果是mainint x 20 printf

2021-03-21 10:36:54 字數 3069 閱讀 4814

1樓:妖★燎雨

答案是1,0 因為根據算數優先順序從左到右進行運算(0<x)為真,真就是1,1<20也為真所以為1,然後下一條0<x為真就是1,x<20為假就是0,1與上0就是0

以下程式執行後的輸出結果是___。 main() { int x=10; printf("%d,%d\n",--x,--x); }

2樓:匿名使用者

c語言函式引數處理順序-從右向左 printf是函式,遵循這個規律

所以先執行後面的--x,那麼第二個引數就是--x就是9,執行完第二個引數後,x就變成9了,再執行第乙個引數--x就是8

下面程式執行後的輸出為( )。 main() { int x=10,y=20,t=0;

3樓:朝陽

這道題目的意思說白了就是列印x和y的值。如果x比y大,那麼就將x和y替換,換句話說,y總是最大的。上面的老兄說對了,因為x>y不成立,所以直接輸出x和y,也就是初始值。

4樓:匿名使用者

答案是a

因為x>y不成立,所以x和y不會進行交換,所以依然是10,20

以下程式執行後的輸出結果是??main(){ int a=10,b=20,c=(a%b<1)||(a/b>1);printf("%d%d%d\n",a,b,c);} 20

5樓:匿名使用者

#include

int main(int argc, const char *argv)

輸出結果是:10200

具體情況如下圖所示:

6樓:匿名使用者

結果是10 20 0

7樓:傑少多疾病

c=(a%b<1)先將a%b=10而10又》1,所以計算機的邏輯處理結果是0,c=0

下面程式的輸出結果是() #include

8樓:匿名使用者

我把這個程式執行了一下,最後結果是12,12,我現在完全想不通了。。。

#include

void main()

結果是:12,12

我覺得是不是先執行完兩次++,然後再輸出結果?

我有引入了乙個變數y

#include

void main()

這是執行的結果就是12,11了

我還測試了乙個例子:

#include

void main()

輸出是2,2

綜上我發現printf的執行順序是從右往左的,因為如果是從左往右的話輸出應該是2,4,即先+1再*2,但是結果確實2,2,說明y = x * 2先執行,而++x後執行

9樓:理性王者

你好 在printf函式中 輸出運算是從右至左的 先執行++*p *p指向x ++符號是先自加然後再賦值所以為11 然後再++x 也成為12 最後輸出的時候先輸出++x 再++*p 所以是12 11

不同的編譯器有不同的結果 不過這種是最原始的

10樓:匿名使用者

下面程式的輸出結果是(12,11)

以下程式執行後的輸出結果是( )。 #include void main( ) { int x=0210; printf("%x\n",x); }

11樓:紫寒星辰

int x=0210;只要在int 數值前加0,就會被認為是八進位制數,0210轉為十進位制為136,%x和%x為輸出十六進製制數,136轉十六進製制便是88;

12樓:方學富

你這是什麼????錯的程式!!!!

以下程式執行後的輸出結果是——。 #include main() {int x=10,y=20,t=0;

13樓:聽不清啊

if(x==y)條件不滿足,t=x;這個語句不執行。

後面的x=y; y=t;是無條件執行的(它不在 if 語句「罩著"的範圍內)

所以,最後輸出:

20,0

14樓:匿名使用者

這是c語言吧

我只能告訴你 最後數值 t=0,x=20,y=0

那段列印的**我忘了%d什麼意思了!

15樓:依星昌頤真

這個很簡單,這樣寫就看得清了

int x=10,y=20,t=0;

if(x==y) t=x; //不成立

x=y; //x=y=20

y=t; //y=t=0

printf("%d %d\n",x,y); //結果20 0如果你的printf的%d之間沒空格,結果就是200

以下程式的輸出結果是:main(){int x; for(x=1;x<10;x++) for(x=10;x<10;x++); printf("%d\n",x);}(

16樓:匿名使用者

我覺得是選a。

主要看第乙個for迴圈,第二個for是內部的迴圈,「;」意味著不做任何操作,直到最後乙個迴圈x最開始為9然後內迴圈x++,x變為10,然後是外部迴圈x++,x變為11,x<10跳出迴圈。

17樓:匿名使用者

for(x=10;x<10;x--)

main() { int x=10; { int x=20; printf("%d, ",x); } printf("%d\n",x); return 0; }

18樓:天雨下凡

第二次輸出的是第一次定義的x

int x=10;

注意第二行中有大括號,則其中定義的x只在該大括號中存在,所以在第二個printf語句執行時,那個值為20的x已經不存在了,輸出的是第乙個值為10的x

有以下程式程式執行後的輸出結果是

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...

以下程式執行後的輸出結果是maininta,b

我執行了下復 結果是3,10 include main 這裡面制的 a,b 是個bai逗號表示式du,a 和b 都執行了但最後輸出zhib 的結果所以daoa b c就是2 3 5 如果你在下面再加一句printf d,d n a,b a b c a,b的值就會變。而這樣的話應該printf函式對變...

執行以下程式後,輸出的結果是mainint y 10 do ywhileyprintfd n ,y

雨落巴黎塔 選ddo while語句 先執行do裡面的迴圈體,再去判斷while條件是否成立,如果成立,一直執行下去,直到不成立終止迴圈 選d.c語言書上寫有,do 語句 while 表示式 其中語句是迴圈體,先執行後判斷,先執行一次指定的迴圈體語句,然後判別表示式,當表示式的值為非零 真 時,返回...