我正在用C編寫簡單的程序,並得到了stucked。我有三個功能: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
.
.
.
}
的問題是:在第一個功能,我得到正確的用戶輸入的字符串,但是當我將它傳遞給第三個功能我得到它的一些垃圾。如何解決它?
編譯所有警告和調試信息。請注意,當作爲參數傳遞時,數組會衰減爲指針。 –