c語言 void reverse int aint n 是什麼意思

時間 2021-05-07 20:01:12

1樓:聽不清啊

這是一個自定義的函式。

照函式名來看,它的作用是把a陣列中的前n個元素逆置(即把它們的陣列中的位置反過來存放,假如a[0]~a[99]中原來存放的是1,2,3,4,。。。,99,100,則呼叫一次reverse(a,100)後,a陣列中的元素將成為100,99,98,。。。,3,2,1)。

2樓:

34:void reverse(int a,int n)

意思是把陣列a 中的前n個數逆置過來。

b[10]=給陣列b賦初值。

s+=b[i]相當於s=b[0]+b[1]……+b[i].

reverse(b,8)就是把陣列b中的前8個數逆置過來

35:s+=aa[i][1] 相當於第二列相加 即:2+6+9+2=19

aa[4][4]是一個二維陣列,相當於一個矩陣。

38:那是對檔案操作的函式你可以在標頭檔案裡找到原形。

fp=fopen("d1.dat","w");可寫開啟檔案d1.dat

fp=fopen("d1.dat","r");只讀開啟檔案d1.dat

fclose(fp);關閉檔案指標。

fscanf(fp,"%d%d",&k,&n);往指標fp所指向的檔案裡寫入兩個資料k,n.

3樓:匿名使用者

void reverse(int a, int n)//這是一個過程定義。沒有輸出的值。實際void是一個指標,屬地址引用。

{int b[10]={1,2,3,4,5,6,7,8,9,10//這是定義一個有10個元素的陣列變數b.

s+=b[i];//意思是s=s+b[i]

reverse(b,8)//意思是參照它的定義void reverse(int a, int n)

fp=fopen("d1.dat","w");//意思是給檔案指標變數fp負值。也叫開啟檔案。

fp=fopen("d1.dat","r");//同上

fclose(fp);//關閉檔案。

fscanf(fp,"%d%d",&k,&n); //在螢幕上按格式顯示

c語言 int &a 是什麼意思

4樓:非常可愛

int&a的時候,編譯器不會給a分配記憶體空間,因為它只是另一個變數的標記;

&a是存放a的記憶體地址,比如變數a=1,&a就等於存放這個1的記憶體地址的數值;

例:#include

intmain()

;intb=5;

int*p1=a;

int*p2=&a;

printf("b:%d&b:%d\n",b,&b);

getch();

return0;

}擴充套件資料int&b=i;//這裡b是一個引用,它是變數i的引用引用就是指標,對比如下程式:

voidfunction(int*a)

intmain()

voidfunction(int&a)

intmain()

int&a應該也是voidfunction(int&a)傳遞引數

5樓:左清安賽辛

int&

a是引用的意思,相當於原有變數的一個

副本。比如intn=

4;int&a=

n;此時a和n為同一個東西,改變a的值,就會改變n的值。

在函式的形參中定義引用,也是同一個意思。例如:

void

fun(int&

a);//

函式intn=

4;//

定義變數n

fun(n);

//呼叫fun函式

此時,在fun中使用變數a,就相當於使用變數n,函式中改變a的值,n的值也會同時改變,形參中定義引用,可以將該形參作為輸出引數。

之所以定義引用,優點在於:傳值時,系統會新開闢一段記憶體用於存放輸入函式的值,而使用引用則跳過此步驟,利於提高程式的效率。如果傳入函式的是一個很大的陣列,這點尤其重要。

當然指標也可以實現這個功能,但引用的執行效率比指標更高。

如果不需要在函式中改變引用的值,可以這樣定義void

fun(const

int&a);

6樓:一騎當後

c++中nt &a意思是定義一個引用

,引用相當於指標再取值他和被引用的變數都是表示同一塊記憶體。

(int&)a :不經過轉換, 直接得到a在記憶體單元的值。

(int)a :a在記憶體中的值轉換成int型別。

7樓:水上漂湯

在定義一個變數的時候,*表示指標

比如int * a,表示a是一個指向int的指標int **a相當於(int *) * a,表示a是一個指向int *的指標(通俗點說就是a的值是一個指標,或者說地址),即指向int指標的指標,這是2級指標。

int m = 1;

int *p = &m;

int ** a = &p;

8樓:匿名使用者

nt &b = i;//這裡b是一個引用,它是變數i的引用引用就是指標,兩者沒有區別。我們

可以把引用想象成一個不需要"*"就可以訪問變數的指標,對比如下程式以上兩段程式完成的功能是一樣的。

你那個 int &a

應該也是void function(int &a)這種形式的把,傳遞引數的

9樓:

當int* a和int* b後面都有分號時,int* a;是宣告或說明指向int型變數的指標a,int* b;是宣告或說明指向int型變數的指標b。題面中二者後面都沒有分號,應該說都是錯誤語句。行話這樣表述:

int* a;是宣告int*型指標a,int* b;是宣告int*型指標b。當然要明白,指標的型別是指它指向的目標的型別。

10樓:匿名使用者

int*是指向int的指標

char*是指向char的指標

*a是對指標a解引用

char* p;是宣告一個char*型別的指標*p = &c;把c的地址賦給p指向儲存的記憶體int b = 3;

int* a = &b; // 取b的地址並賦給指標a*a = 4; // 修改a所指向地址的記憶體內容為4,因為a指向b,所以這句執行之後b = 4

11樓:匿名使用者

&a是存放a的記憶體地址,比如變數a=1,&a就等於存放這個1的記憶體地址的數值 a是這個陣列a的起始記憶體單元地址,&a跟a一樣 你可以看看執行下

參考: http:

12樓:匿名使用者

定義指標變數,變數指向整型資料的地址

例如:int * a;

int b=10;

a=&b;

printf("%d",* a);

結果為 10。

13樓:匿名使用者

其實int &a就是定義一個指標的意思

void (*signal(int signum,void(* handler)(int)))(int)引數是什麼意思? 10

14樓:

先看這個void(* handler)(int)說明handler是一個函式指標,右邊(int)說明這個函式有一個int型引數,左邊的void說明這個的函式值返回值是void型。

接下來把void(* handler)(int)看成一個整體:void b,那麼上面就可以簡化成這樣:

void (*signal(int signim, void b)(int)

這不就和上面的一樣了嘛,只不過signal指向的函式有兩個引數了。

手機手打,不容易啊。。

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

c語言,c語言,C語言中 與 的區別

第4題 include using namespace std void main else 這兒是隨機生成 else 這兒是隨機生成 int main 第7題 include strinv char str str n 0 int main 本來想幫你全做的,不過6,7好像有人做了,那就幫你做了4...

c語言求解,C語言求解?

鐵柺季 當第一次進入pr 函式並執行到scanf函式處時,讀取一個字元 a 此時在此pr 函式中字元變數ch的值即為 a if判斷讀取的字元是否為 並不是,因此進入一個內層函式pr 中。在執行這個pr 函式時,對外層而言只是執行一條語句而已。是在執行完這條語句之前,將不會執行後面的內容的。在這個內層...