0
ポインタ(デフォルトの引数がゼロ)を持つ静的変数を使用して関数を作成します。呼び出し元がこの引数の値を提供するとき、intの配列の先頭を指すのに使用されます。ゼロ引数を指定して関数を呼び出すと(デフォルトの引数を使用)、関数は配列の "-1"値を見るまで配列の次の値を返します(配列の終わりとして機能するために。。ここでは))(メインでこの機能を発揮配列内の次の値を返す静的変数付きのC++関数
は、私が持っているものです。?私はそれを起動すると
int pr(int *p = 0) {
static int* po =0 ;
if (p) {
po = p;
return *po;
}
else {
return -1;
}
if (*p == -1) {
return -1;
}
return *po++;
}
int ar[] = {2,5,1,2,6,-1};
int main() {
pr(ar);
int pl;
pl = pr();
while (pl != -1) {
cout << pl << endl;
pl = pr();
}
}
、何も印刷されていないと私はなぜ知らないます任意の助け
ゼロでない場合に使用される関数の引数は何ですか? –
@KerrekSBは、静的変数 – stoychos
を初期化します。どのような場合に関数が返すのでしょうか? –