C語言的簡單問題

2023-01-08 07:10:52 字數 762 閱讀 7038

1樓:努力的蝦丸君

if(a>b)exchange(a,b); 這一句將a,b的值傳遞到函式exchange(int x,int y)中給x,y,可以看成x=a,y=b,而exchange函式內部只是將x,y的值互換了,並沒有將互換後的值傳出來給a,b,所以a,b的值應該不變。

這也是一個區域性變數的問題,a、b是main函式中的區域性變數,只能在main函式中起作用,離開了main函式就失效了,而x、y是exchange(int x,int y)函式中的區域性變數(形參),作用域只限於exchange函式,離開了該函式就失去作用,exchange不能帶回交換後的x、y值給a、b,所以a、b保持不變。

2樓:匿名使用者

void沒有返回值 去掉void 看看.

3樓:冷眼看未來

函式宣告應該在main函式前

#include

void exchange(int a,int b);

main()

void exchange(int x,int y)

4樓:沉浮隨風

你在分函式裡做了x,y交換了,但是變數a,b沒有交換可以把分函式裡的x,y改為全域性變數a ,b代替可以解決

#include

main()

void exchange(int a,int b)我除錯過了,可以用

5樓:匿名使用者

要用指標的,這樣臨時變臉換不回來的

簡單c語言問題 linker ,簡單C語言問題 linker error

這種提示是連線錯誤 linker error 一般可執行程式的過程是 源 目標 經過編譯 可執行程式 經過連線 你的問題就出在最後一步。那麼為何出現這樣的問題呢?既然編譯通過,說明你的源程式沒問題。那麼連線出錯由什麼原因引起的呢?一般我們寫程式不可能每個功能自己寫,一些共用的功能 函式 被封裝在庫中...

簡單的C語言問題,C語言程式設計問題

include void swap int p1,int p2 void main 這裡用引用,p1和p2既是入參又是出參void swap int p1,int p2 執行結果如下 從錯誤提示來看,是型別不相容。這個在c裡面是合法的,算warning,但在c 中是錯誤。用gcc可以編譯過去 roo...

簡單的C語言問題

因為在for迴圈裡的。for迴圈五次。所以要列印五次。就是12345 最後才輸出sum。才是15 for i 1 i 5 i 這個for迴圈輸出的是i的值 printf d sum 這輸出和 結果應該是12 34515 在你前面的for迴圈中 for i 1 i 5 i 每迴圈一次都輸出一次變數i的...