有以下程式 mainint x 1y 0i

2021-04-11 15:47:17 字數 3037 閱讀 3832

1樓:匿名使用者

結果是copy0;

x=1,!x為false 所以再判斷x==0也不成立故y=0else if (x==0)

if (x) y+=2;

else y+=3;

和else if (x==0)

是一樣的意思

2樓:匿名使用者

最後輸出的結zhi果是0,還原一下程

dao序就可以看的更清楚

#include

int main()

else if (x == 0)

else

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

return 0;

}首先答x=1,所以!x=0為假,所以往下執行,而x=1,所以else if的條件也不滿足,所以最後y的值沒有改變

else先和他最近的if配對

3樓:我們必將知道

0第一個if不會執行,因為!x = 0 ,else if也不會執行,因為x = 1,並不等於0 。綜上,y的並未改變。

(25)有以下程式 main() { int x=0,y=0,i; for (i=1;;++i) { if (i%2==0) {x++;continue;} if (i

4樓:匿名使用者

兩個全都是a

第一bai

個:i=5時du結束,此zhi時y自加一次為1,x自加兩次(daoi=2和4時)為2

第二版個權:三個for迴圈後兩個為一個排序整體,作用是對第i列元素進行從小到大排序,(第一個for用來遍歷列),所以最後的結果是每一列按從小到大排序。

輸出為對角線元素 1 6 5 7

5樓:滄海雄風

#include

main()

if (i%5==0)  }

printf (" %d,%d",x,y); }選dua

2,1press any key to continuemain()

,,,},i,j,k,t;

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

for(j=0;j<3;j++)

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i])/*按列zhi排dao序回

答*/for(i=0;i<4;i++)printf("%d,",a[i][i]);

} 選a

1,6,5,7,press any key to continue

6樓:手機人生

c語言愛好家,可是不懂啊!努力學習ing!呵呵!

c語言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0 具體請看下邊程式。由於剛剛學習這門語言,請指教

7樓:迷夢錯亂

//你的**復bai製得很亂 完全看不懂

du,沒幾個人會回答zhi,因為浪費時dao間,花了15分鐘專才整理好**,看懂一些而已屬 之後的就懶得寫了不懂的再問int main(void)

8樓:forever那抹綠

你這個**太不規範了,得看第一個if的範圍是什麼

9樓:匿名使用者

由於baiz=10,所以

if(z<0)

if(y>0) x=3;

else x=5;

這段不du執行。 x初始為1,

zhiprintf(''%d\t'',x);列印1.

z=y=1>0所以

else if(y==0) x=5;

不執行,dao進入到版else x=7,列印出7.

其結權果為1 7

c語言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0) x=3;

10樓:

z=y<0是先判斷y<0,此表示式值為0,即賦值z=0,然後表示式的值作為if判斷條件,它是0,自然不成立了,於是往下執行if(y==0) 這裡也不成立,再往下else執行了x=7,於是輸出7了

11樓:

你這y是大於0的吧,

if(z=y<0) x=3;

else if(y==0) x=5;

前面兩個if都不符合,就只能x=7;了

12樓:匿名使用者

if(z=y<0) x=3;

else if(y==0) x=5;

else x=7;

printf(''%d\t,x);

printf(''%d\t'');

其中抄 if(z=y<0) 執行bai的是先把y賦值給z.整個賦du

值表示式zhi的值(y的值)充當左值,相當dao與z=y; if(1<0) (顯然為假嘛),所以執行else print 7.

以下程式片段( ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(「***」); else printf(「###」); }

13樓:手機使用者

因為x=y+z是賦值語句,所以if (x=y+z)相當於if (x),因為x的值為y+z=0,所以x=0為假值,所以輸出###

14樓:匿名使用者

答案是b

因為c語言中"="是賦值號;if(x=y+z)是計算出y+z的值然後賦值給x,這個式子是永遠成內

立的,所以會輸出***;

如果說容要改錯的話,應該改為if(x==y+z),構成邏輯表示式後,才符合程式設計的初衷。

15樓:匿名使用者

選 b因為x=y+z為真,程式會一直執行 printf(「***」);

16樓:mxj抹香鯨

答案應該是a,因為:(x=y+z),y+z=0:x=0;0=0,該語句是真,所以執行第一個,所以輸出「***」,自己可以寫一下這個程式

有以下程式,有以下程式 include int abc int u,int v main int a 24,b 16,c c abc a,b printf d n ,c

這個是輾轉相除法 求最大公約數的,24和16的最大公約數就是8具體過程 a 24 b 16 於是函式abc中 u 24 v 16 while v 第一次迴圈 w 24 16 8 u v 16 v w 8第二次迴圈 w 16 8 0 u v 8 v w 0第三次 判斷v為0,退出迴圈 返回u值為8 首...

執行以下程式段後,abcint x 10,y 9int a,b,caxyxybxc

a 10 b 9 c你沒有給出,c y 或者c y c 11c x 或者x c 10 a x y x y 這條語句有語法錯誤,左邊不能是表示式x 自己放在程式裡試試不就知道了,問別人永遠不知道為什麼 5 執行以下程式段後 變數a,b,c的值分別是一。int x 10,y 9 int a,b,c a ...

有以下程式段 int k 0 while k 1 k則迴圈執行多少次?為什麼

迴圈會執行無數次,while k 1 表示式k 1是把1賦值給變數k,然後整個表示式k 1的值為1,即真,然後k自加,新的一輪迴圈開始時,k的值又變成1,即真,所以迴圈不會結束。有以下程式段 int k 0 while k 1 k 則while迴圈執行的次數是 程式段 int k 0 while k...