C Funzione Saltato in fase di esecuzione
Domanda
Ho il seguente codice C in un programma:
printf("Test before print_foo()");
void print_foo(char board[ROW][COL]);
printf("Test after print_foo()");
dove print_foo printf è il passato in 2-D array di caratteri con una corretta .c e .h file importati.
uscita Console è solo le due istruzioni printf. Debug, il runtime passi mai nemmeno in print_foo.
Tutte le idee?
Soluzione
void print_foo(char board[ROW][COL]);
Non è una chiamata di funzione. E 'una dichiarazione.
Probabilmente si desidera
print_foo(board);
Altri suggerimenti
Tale prefisso void
sta facendo la linea centrale in una dichiarazione di funzione print_foo
(e la char
tra parentesi significa che sarebbe altrimenti sintassi non valida). Per solo Chiama print_foo
, modificare la linea di mezzo a print_foo(board);
(se board
è come si denominata che 2-D array di caratteri).
che sembra una dichiarazione di funzione per me - è per questo che il vostro foo-nction non viene chiamato
.La linea di mezzo è solo una dichiarazione di funzione, non è una chiamata di funzione.
Se non si dichiara il prototipo in precedenza allora dovete scrivere questo:
printf("Test before print_foo()");
void print_foo(char board[ROW][COL]);
print_foo(board);
printf("Test after print_foo()");
In breve è necessario definire / dichiarare print_foo prima di richiamare, o il compilatore contrassegnerà un errore !!