質問

Iプログラムの中で、次のCコードを持っています:

printf("Test before print_foo()");
void print_foo(char board[ROW][COL]);
printf("Test after print_foo()");

ここでprint_fooのprintfのインポート適切なの.cと.hファイルと2-Dの文字列で渡されます。

コンソール出力は2つのだけのprintf文です。 デバッグ、実行時にもprint_fooに、手順はありません。

任意のアイデア?

役に立ちましたか?

解決

void print_foo(char board[ROW][COL]);

は、関数呼び出しではありません。それは宣言です。

あなたはおそらくしたい。

print_foo(board);

他のヒント

voidプレフィックス関数print_foo(それはそうでなければ無効な構文であろう括弧手段内char)の宣言に中央線を作っています。ただのコールprint_foo、(print_foo(board);あなたは2-Dの文字配列という名前のどのような場合)boardに真ん中の行を変更します。

と私に関数の宣言のように見える - 。あなたの関数が呼び出されていない理由です。

あなたの中央の線だけで、関数宣言ではなく、関数呼び出しです。

以前にプロトタイプを宣言していない場合、あなたはこれを記述する必要があります:

printf("Test before print_foo()");
void print_foo(char board[ROW][COL]);
print_foo(board);
printf("Test after print_foo()");

一言で言えば、あなたは、エラー!!

を定義するために/宣言print_fooを呼び出す前に持っている、またはあなたのコンパイラの意志フラグ
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top