结构体问题
struct Book{
char title;
char author ;
float price ;
unsigned int date;
char publisher ;
} book;
int main (void )
{
printf("请输入书名: ");
scanf("%s", book. title) ;
printf("请输入作者: ");
scanf ("%s”,book.author) ;
printf("请输入售价: ");
scanf("%f",&book.price);
printf("请输入出版日期: ");
scanf("%d", &book . date) ;
printf("请输入出版社: ");
scanf("%s",book . publisher) ;
这里为什么 printf("请输入售价: "); price和book这里要取地址,而title和author不用?
scanf("%f",&book.price);
printf("请输入出版日期: ");
scanf("%d", &book . date) ;
怎么在子程序中修改实参的值? 字符串或字符数组不用取地址 因为后两者是字符数组的数组名,可以用做指向数组第一个元素的指针。 scanf本来就是要用&的。因为字符串、字符数组的开头就表示了地址,所以你的book.title这些就是地址不用再加&,但book.price这些就是普通的变量名,所以要加&
页:
[1]