gpt4 book ai didi

c - & 运算符在结构上不做任何事情?

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:49 25 4
gpt4 key购买 nike

<分区>

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

struct BOOK{
char name[15];
char author[33];
int year;
};

struct BOOK *books;
int main(){
int i,noBooks;
noBooks=2;
books=malloc(sizeof(struct BOOK)*noBooks);

books[0].year=1986;
strcpy(books[0].name,"MartinEden");
strcpy(books[0].author,"JackLondon");

//asking user to give values
scanf("%d",&books[1].year);
scanf("%s",&books[1].name);
scanf("%s",books[1].author);

printf("%d %s %s\n",books[0].year,books[0].author,books[0].name);
printf("%d %s %s\n",books[1].year,books[1].author,books[1].name);
getch();
return 0;
}

我给1988 theidiotdostoyevski

输出是

1986 JackLondon MartinEden
1988 dostoyevski theidiot

scanf 中,在 books[].name 中,我使用了 &,在 books[].author 中我没有使用,但它还是一样。对于 year 它不起作用。 &结构没用?

我是说这里

scanf("%d",&books[1].year);
scanf("%s",&books[1].name);
scanf("%s",books[1].author); //no & operator

char name[15];
char author[33];

在这里,我可以使用

char *name[15];
char *author[33];

没有任何变化。为什么我看不出区别?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com