1樓:匿名使用者
void swap(int i,int j)
這種方法是向子函式傳值,i,j 是區域性變數,當子函式呼叫完後就被釋放了,傳不到主函式中
而將i,j 定義為全域性變數,程式中任何地方對i,j 的呼叫修改都會改變i,j 的值
2樓:匿名使用者
交換整型或字元型變數,我從不用函式,在記憶體中直接用位運算多好,不占用系統資源,速度上還有絕對的優勢!
**:int a=4;
int b=5;
b^=a;
a^=b;
3樓:匿名使用者
這裡你要弄清楚形參與實參的區別,不管是void swap(void )和void swap(int i,int j )生成的變數都是臨時引數,不會更改向函式傳遞的引數值,c語言實現你說的功能需要用到指標,函式該這樣寫:
void swap(int* i,int* j )主函式這樣寫:
void main()
4樓:匿名使用者
應該是你的第一行設定的全域性變數的問題。你把全域性定義的int i,j;這個,放到主函式裡看看。
5樓:
你原來的函式是無參的,需要傳遞兩個引數進去肯定不能是void swap(void )啊
c語言函式的使用,定義乙個交換函式 實現2個數字的交換。
6樓:凌亂心扉
執行結果
:用指標交換:
void swap(int*x,int*y)int main()
執行結果:
x=2;y=1
7樓:匿名使用者
**應該如下,函式需要用指標來傳遞引數。
#include
int sub(int *x,int *y)void main()
8樓:匿名使用者
a,b經過函式的呼叫後已經將值傳遞給了x,y,所以輸出x,y也就是輸出a,b。
子函式的值就是x,y,所以輸出子函式的值就是輸出x,y,因此不用返回x,y。
c語言怎麼用自定義函式將兩個數交換
9樓:雪v歌
要用函式實現兩個數的交換,則函式引數必須定義為指標形式,否則函式中對數值的修改將不會影響主調函式,這是c語言的規則。
所以,以整型為例,自定義函式書寫如下:
void swap_int(int*a,int*b)
c語言:呼叫函式,交換兩個變數的值。
10樓:
這個無法交換資料。
c語言函式引數的基本規則是值傳遞,所以傳遞時只能實現實參向形參的單向的、值的傳遞。這就是為什麼需要使用指標才能實現值交換的原因。
11樓:匿名使用者
函式的值傳遞機制是拷貝。。所以你函式裡的x和y只是你傳入的實參的副本而已。當然改不了了。
用指標就可以了,就算拷貝指標,值(位址)也是一樣的。
c語言用函式如何實現兩個數交換?
12樓:匿名使用者
#include"stdio.h"int swap(int *a,int *b)
main()
13樓:天平座de魚
c語言用函式如何實現兩個數交換的話?比較難發揮。
14樓:倒霉熊
#include
main()
printf("%d > %d\n",*za,*zb);
printf("%d > %d\n",a,b);
}int hanshu(int *x,int *y)
15樓:匿名使用者
int hanshu(int *x,int *y)這裡應把temp定義為int型
int temp;
temp = *x;
*x = *y;
*y = temp;
這樣就內對容了
16樓:溪貝溪貝
#include
void huhuan(int*, int*);
int main(void)
void huhuan(int*m, int*n)
c語言關於定義函式實現兩個數交換 10
17樓:紫月開花
要用bai函式實現兩個數du的交換,則函式zhi引數必須定義為指標形式,
dao否則函式專
中對數值的修改將不會影響屬主調函式,這是c語言的規則。所以,以整型為例,自定義函式書寫如下: void swap_int(int*a,int*b)
用自定義函式進行兩個數的交換(c語言)
18樓:匿名使用者
要用函式實現兩個數的交換,則函式引數必須定義為指標形式,否則函式中對專數值的修改將不會屬影響主調函式,這是c語言的規則。
所以,以整型為例,自定義函式書寫如下:
void swap_int(int*a,int*b)
編寫函式strcmp用主函式呼叫實現兩個字串的比較。int strcmp char s1char s
int strcmp char s1,char s2 else if p q else if p 0 q 0 if p 0 q 0 if p 0 q 0 int mystrcmp const char str1,const char str2 if ret 0 ret 1 else if ret 0...
c語言程式設計 輸入兩個陣列,每個陣列不超過元素,將只在陣列中出現的數全部輸出
意思就是a陣列中的數b陣列沒有唄.要自己寫才有有意思 雙層for迴圈 把a i 元素 和每個b元素if一下 設定一個計數器 如果對比10次計數器都沒增加 則輸出a i 元素.然後計數器歸零 再進入外部迴圈.如此反覆10次 然後再把a和b兌換下 再來一次上面的就能把b的元素輸出了. include s...
c語言輸入數用呼叫函式的方法從小到大排
風翼殘念 include void sort float a,int n int i,j,tmp for i 0 ifor j 0 jif a j a j 1 tmp a j a j a j 1 a j 1 tmp void main float a 5 int i printf 請輸入五個數 逗號...