質問
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を呼び出す前に持っている、またはあなたのコンパイラの意志フラグ所属していません StackOverflow