私はCで簡単なプログラムを書いていました。関数間のCの渡し文字列
void changeStatusOfBook(User users[], Book books[]) {
char *id= askForBookID();
Book book = getBookById(books, id);
.
.
.
}
char * askForBookID() {
char id[6];
printf("Tell me which book (ID)\n");
scanf_s("%5s",id, 6);
return id;
}
Book getBookById(Book books[], char bookID[]) {
int counter = 0;
//bookID becomes a trash here
.
.
.
}
問題は次のとおりです:最初の関数では、私は正しいユーザー文字列入力を得るが、私は第三の機能に渡したときに、私はそれにいくつかのゴミを取得しています、私は3つの機能を持っています。それを修正するには?
すべての警告とデバッグ情報でコンパイルします。引数として渡されると、配列はポインタに崩壊することに注意してください。 –