1樓:匿名使用者
main( )
{ int x=1,y=3,z=2;
if(x>y) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf(「%d,%d,%d\n」,x,y,z);
先看這一段
x>y為假,跳過f(x,y)
y>z為真,執行f(y,z)
再把f(y,z)傳到f(int v,int w)內有t=y=3,v=w=z=2,w=t=3
有因為x,y,z是整形定義,它的值不會因為傳送而變動所以仍然按原先所定義的輸出
結果為1 3 2選c
2樓:
void f(int v , int w)
這個函式進行的是形參交換,函式結束後,形參記憶體釋放,所以y和z無法真正交換,故而還是1 3 2,選c
3樓:
答案是(c)。
這裡負責交換值的函式沒起作用,原因是表面的值傳遞,如果是傳指標或陣列的話,交換就成功了。
4樓:匿名使用者
c 1 3 2
因為函式f並沒有改變main函式裡的xyz的數值
所以 還是 1 3 2
C語言程式題
看迴圈,這裡的迴圈應該是j 在這種情況下,迴圈裡面的語句會越界,出現記憶體錯誤 for j i 1 j 5 i 請把它改成 for j i 1 j 5 j 還發現乙個錯誤,這裡必須用大括號括起來 for i 1 i 5 i 前面兩個for語句都沒大括號啊,最後排序的第乙個for也沒大括號。你能不能先...
C語言程式填空,C語言程式填空題
有1個地方填錯了 第一題 第一空 num k n 2 第二空 for k 0 k 去掉第二題 第一空 a i 2 0 第二空 s a i c語言程式填空題 include include int isprime int num 1判斷num是否為質數 for int i 2 i格外面已經有分號,格仔...
c語言程式判斷題,c語言判斷題
1.c程式中的關鍵字必須小寫,其他識別符號不區分大小寫對2.在c語言中,5種基本資料型別的儲存空間長度的排列順序為 char10 後,t的值為0 錯,t 10 11.在c語言中,變數必需先定義後使用 對12.在c程式中,是隻能用於整數運算的運算子對13.在c語言中,邏輯 真 等價於不等於0的數對14...