下面這段C 程式錯誤再哪

時間 2022-07-24 06:00:12

1樓:匿名使用者

1. c語言對大小寫是敏感的。你前面說明的void swap(int x,int y);和後面定義的void swap(int x,int y)不一致,編譯時會出錯:

找不到swap()函式。

同樣,在swap()中說明了int temp;但語句裡用的是temp, 編譯時會出錯:temp未定義。

所以你首先要把函式名,變數名的大小寫理順了,才能通過編譯。

另外,swap(x, y)這一行末尾沒有分號,編譯肯定也要報錯誤的。

2. 執行時會發現,swap()之後x,y的值沒有變化,因此說x,y的值並未交換。原因如下:

swap(int x, int y)是引數方式的呼叫,其中x,y可以看成是main()中x,y的拷貝,而不是main()中x,y本身。所以對swap()中x,y的任何操作,對main()中的x,y沒有任何影響。因此swap(x,y)後x,y的值不會變化。

如果想讓main()中的x,y隨之變化,應該使用引用方式的呼叫。這樣,swap()中的x,y可以看作是main()中的x,y的別名,swap()對x,y的任何操作相當於對main()中的x,y進行同樣的操作。

要改為引用方式的呼叫,只需把兩處void swap(int x, int y)改成swap(int &x, int &y)即可。

2樓:破曉的雲

c語言大小寫敏感吧,void swap(int x,int y),可能是,我c語言不怎麼好~~~~~

3樓:

#include

void swap(int x,int y);

void main( )

void swap(int x,int y)

看下這個C程式錯誤

int j,w int a 100 i for i 0 i 99 i 這個for後面有個分號,迴圈體是空語句 for j 1 j 100 j a i j 就算沒有分號 for i 0 i 99 i for j 1 j 100 j a i j 這麼做事a裡面所有的值都賦上100,因為外迴圈迴圈1次,內...

請問下面這段程式中if else endif是什麼意

應該是c語言的預處理命令,當條件 為真是,按條件真的下分支進行編譯,否則按 else分支編譯.條件是在程式編譯時判斷,而不是程式編譯好後執行時才判斷.換句話說,兩個分支中只有一個分支能成 為 最終程式的 執行2end if 意思就是 如果 條件1 成立,那麼 執行1否則 執行2結束.對於 來說,是從...

C語言程序那裡錯誤呢,C語言 程式那裡錯誤呢?

c的常識問題 是賦值語句,它負責將 右邊的值賦到 左邊,如 else if a b a c 這一句,樓主的目的是想判斷 a的值和 b的值是否相等,結果卻是將 b的值賦給 a,所以應該寫成 else if a b a c 以下類推就是了 a b a c b c 這樣就可以了 include stdio...