[英]C - Practice -Structs and Function - input error
我正在使用結構和函數練習 C。 當我要求用戶輸入有關書籍的信息時,代碼運行良好,直到我要求輸入出版商名稱,這里我總是得到返回 EXIT_FAILURE 無論輸入是什么。 我認為我在scanf
中編寫變量的方式出現了一些錯誤,因為它是另一個結構中的結構,我仍然不能完美地理解這個問題。
下面是代碼(它不完整):
#define MAXB 2
#define MAXSTR 100
typedef struct date // publication date
{
int day, month, year;
}DATE;
typedef struct authors
{
char authorName[MAXSTR];
char authorwebp[MAXSTR];
DATE birthDate;
}AUTHOR;
typedef struct publishers
{
char publisherName[MAXSTR];
char publishAddress[MAXSTR];
}PUBLISHER;
typedef struct books
{
char title[MAXSTR];
char type[MAXSTR];
PUBLISHER publisher;
AUTHOR author[5];
DATE publishDate;
}BOOK;
void add_book( BOOK *b )
{
if (scanf(" %[^\n]s", b->publisher.publisherName) !=1); // always getting EXIT_FAILURE
return EXIT_FAILURE;
}
int main()
{
BOOK b[MAXB];
add_book(b);
}
預先感謝您的幫助。
"if (scanf(" %[^\n]s", b->publisher.publisherName);=1); <-去掉分號"
@ser3121023、@Luke_ 和 @Alejandro Montilla 回答了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.