мой проект состоит в том, чтобы построить структуру книги и заполнить ее параметрами пользователей.не удалось достичь указателя в структуре
с динамическим распределением, массивами и указателями.
моя book
структура имеет следующий:
struct BOOK
{
char* author;
char** genders;
int totalGenders;
char* name;
int* chapterPages;
int totalChapters;
}typedef book;
, когда я пытался достичь имя автора, строка 1 в составе:
struct BOOK
{
char* author;
Я не удалось сделать это .. мой код в основной:
int main()
{
book* b;
char authorChar[10] = { 0 };
int authorLen;
char* authorName;
// get author name
puts("please enter the name of the author");
scanf("%s", &authorChar);
authorLen = strlen(authorChar);
printf("%d", authorLen); //print to see that lentgh is correct.
authorName = (char*)calloc(authorLen, sizeof(char));
strcpy(authorName, authorChar);
puts("\n");
b->author = authorName;
printf("%d", b->author);
, когда у меня есть отладка, у меня возникла проблема в этом lin е:
b->author = authorName;
идеи, пожалуйста? :)
'зсапЕ ("% s", & authorChar);' -> 'Scanf ("% 9s", authorChar);' –
[Пожалуйста, смотрите эту дискуссию о том, почему не бросить возвращаемое значение 'таНос() 'и семью в' C'.] (http://stackoverflow.com/q/605845/2173917). –