1樓:匿名使用者
#include
/*問題中的第一個函式定義*/
void swap(int *x, int *y)void main()
1)函式void swap(int *x, int *y)的兩個引數x和y都是指向int變數的地內址。
2)在main中呼叫
容swap(&a, &b)時,x的值為指向變數a的地址,y的值為指向變數b的地址;
3)swap函式實現了x與y的交換,即原來x指向a變數,現在指向變數b;即原來y指向b變數,現在指向變數a;這個時候要注意的是:函式僅僅實現x與y實現了交換,但a與b的值並沒交換!這就是a和b沒有交換的原因。
2樓:匿名使用者
老師告訴過你void swap(int x,int y)為什麼不行嗎
定義一個函式swap,功能為交換兩個變數a和b的值,在主函式中輸入2個數,呼叫該函式,輸出交換後的資料.
3樓:angela韓雪倩
#include
void swap(int *a,int *b)int main()
swap操作實現交換兩個容器內所有元素的功能。要交換的容器的型別必須匹配: 必須是相同型別的容器,而且所儲存的元素型別也必須相同。
呼叫了swap函式後,右運算元原來儲存的元素被存放在左運算元中,反之亦然。
4樓:匿名使用者
void swap(int *a,int *b)
5樓:我愛涵涵道
:\program files\microsoft visual studio\myprojects\54\52dzj\dzjr.c(21) :
fatal error c1010: unexpected end of file while looking for pre***piled header directive 凡是沒有用指標的都出現了問題
6樓:匿名使用者
就是定義兩個變數 在輸出這兩個變數唄
(1)定義兩個函式,分別為void swap1(int a, int b)和void swap2(int *a, int *b),用於交換a,b的值。
7樓:光暗a告解
樓上的有錯誤 swap1函式沒有返回值,故主函式輸出的第一批中a,b的值並沒有交換。
#include
void swap1(int a, int b);
void swap2(int *a, int *b);
void main(int a,int b)void swap1(int a, int b)void swap2(int *a, int *b)
8樓:但丁耍大刀
#include
void swap1(int a, int b);
void swap2(int *a, int *b);
void main(int a,int b)void swap1(int a, int b)void swap2(int *a, int *b)
編寫一個交換函式swap(int *x,int *y),實現2個數的交換,並在主函式中呼叫,最後輸
9樓:匿名使用者
#include
void swap(int *x,int *y);
int main(void)
void swap(int *x,int *y)
10樓:
^#include //新增頭文
件void swap(int *x,int *y);
int main(void)
void swap(int *x,int *y)通過
11樓:匿名使用者
第一空:swap(&a,&b);
第二空:
int t;
t=*x;
*x=*y;
*y=t;
12樓:
設箇中間變數,利用中間變數將2個數交換一下即可
指標(&a、&b)作為函式實參,在子函式中交換a、b的值,在主函式中為什麼能改變a、b的值?
13樓:匿名使用者
因為計算機中,變數存放在記憶體中,記憶體都有一個地址,指標就是指向記憶體內
的地址的,如果把容指標作為實參進行傳遞,也就是把記憶體地址傳了過去,那麼操作這個指標所指向的記憶體塊,必然會改變這個記憶體的內容了。
而如果不是傳指標也不是傳引用的話,而是普通的變數傳遞,則不會改變記憶體內容,以為普通變數作為引數時,其實是在記憶體塊中新申請了一塊空閒塊,不是原來的記憶體塊,而函式呼叫完畢之後,這塊新申請的記憶體塊會由於變數的作用域失效而被系統**。
我打個比方好了,你有兩個生的雞蛋放在櫃子的第二層裡,你現在要把它們煮熟,你跟弟弟說,雞蛋在抽屜的第二層裡,你去把雞蛋拿出來煮熟(這裡相當於傳了指標,抽屜的第二層就是地址)
如果你跟弟弟說,去買兩個雞蛋放到抽屜的第三層,然後煮熟,接著吃掉,那麼,第二層的雞蛋還是第二層的雞蛋,你把第三層的雞蛋給怎麼了也不影響第二層的雞蛋
求採納,麼麼噠
已知a,b兩變數分別存有兩個數;a=3,b=4,把a,b兩變數內容交換:a=4,b=3.
14樓:匿名使用者
#include
int main()
15樓:匿名使用者
void main()
16樓:黎明將至
int temp;
temp=a;
a=b;
b=a;
17樓:弈小牧
推薦用函式
,以後常用的。例如
#include
using namespace std;
{int a,b;
int *pa=&a,*pb=&b;
cin>>a>>b;//以a=1,b=2為例swap1(pa,pb);//a=2,b=1swap2(a,b);//在交換一次,a=1,b=2swap3(a,b);//不交換
cout<是通
內過指標改變,c和容c++都可以使用
swap2()是通過引用,只有在c++中才能使用swap3()是常見錯誤,因為sawp3中的變數時形參,無法改變main()函式中的任何變數。
18樓:伊露維塔
void main()
函式宣告和函式定義的關係是什麼,C 中,函式的宣告與函式的定義有什麼區別?
函式先宣告才可以被呼叫,如同變數先宣告後使用。函式的宣告也可以和函式定義分開。一個函式只可以定義一次,但是可以宣告多次。函式定義 是指對函式功能的確立,包括指定函式名,函式值型別 形參型別 函式體等,它是一個完整的 獨立的函式單位。而 函式宣告 的作用則是把函式的名字 函式型別以及形參型別 個數和順...
vc60中工程下只能有main函式我想建
工作區建立兩個工程檔案,分別新增對應.c主程式 需要編譯執行a01時 右鍵a01 files 設為活動工程 左鍵a1.c 編譯執行 編譯執行a02操作通步驟2 main 函式無論是顯式生命或者是隱式呼叫,只能呼叫一個。如果從物件導向上來說,一般情況下會將物件拆分成標頭檔案宣告部分 h檔案 和實現體部...
使用者自定義函式的宣告放在主函式中還是標頭檔案那裡
都可以,但是標頭檔案裡面是類什麼的。如果只是完成某一個特定區域功能的函式,且只作用於一個檔案,那麼最好就放到包含main主函式的c 原始檔中 如何在c 標頭檔案中定義函式,然後在原始檔中使用 在text。h標頭檔案中進行宣告 include using namespace std void disp...