已知main函式中宣告inta3,b4若在main函

2021-03-04 01:14:22 字數 3411 閱讀 3417

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...