参数传值swap
對于下面的代碼:
#include <stdio.h> void swap(int a,int b);int main() {int a=5;int b=7;swap(a,b);printf("a=%d,b=%d",a,b);return 0; }void swap(int a,int b) {int t =a;a=b;b=t; }輸出結果卻是:
a=5,b=7 Process returned 0 (0x0) execution time : 0.086 s Press any key to continue.因為在c語言當中,每個函數都有自己的變量空間,參數也位于這個獨立的空間當中,和其他函數沒有關系。區別于java語言。如果要傳值,得要用到指針。
如果想要達到交換a 和b的結果,則要改swap函數為
void swap(int *pa,int *pb) {int t=*pa;*pa=*pb;*pb=t; }總結
- 上一篇: 【数据库】Mysql的REPLACE()
- 下一篇: 测试方法之正交试验