我在這里有這個函式,我的編譯器正在抱怨。它一直說缺少括號,而事實并非如此。如果我洗掉 & 號,那么編譯器就會停止抱怨。所以我的問題是。C 是否支持&符號?我應該使用指標嗎?所以把 int &cnt 改成 int *cnt?
int counter (int in, int &cnt, int &en)
{
static int in_old = 0;
if (in_old == 0)
if (in > 10)
cnt = cnt 1;
if (cnt > 1)
en = 1;
in_old = in;
// write counter code here
return 0;
}
uj5u.com熱心網友回復:
C 沒有參考。
這段代碼必須來自C !
但是請注意,C 確實使用與號運算子來獲取變數的地址。
因此,如果您將函式更改為接受指標,則可以執行以下操作:
int counter (int in, int *cnt, int *en);
int main(int argc, char **argv) {
int the_cnt = 1;
int the_en = 2;
int in = 3;
int res = counter(in, &cnt, &en);
...
}
您還必須取消參考函式中的指標:
int counter (int in, int *cnt, int *en)
{
static int in_old = 0;
if (in_old == 0)
if (in > 10)
*cnt = *cnt 1;
if (*cnt > 1)
*en = 1;
in_old = in;
// write counter code here
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/361338.html
標籤:C
