鱼C论坛

 找回密码
 立即注册
查看: 1509|回复: 4

结构体问题

[复制链接]
发表于 2022-3-31 02:28:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
struct Book
{
          char title[128];
         char author[40] ;
            float    price ;
          unsigned int date;
              char publisher[40] ;
            } 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) ;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-31 06:34:39 | 显示全部楼层
怎么在子程序中修改实参的值?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-31 09:00:31 | 显示全部楼层
字符串或字符数组不用取地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-1 09:33:32 | 显示全部楼层
因为后两者是字符数组的数组名,可以用做指向数组第一个元素的指针。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-4 15:52:46 | 显示全部楼层
scanf本来就是要用&的。因为字符串、字符数组的开头就表示了地址,所以你的book.title这些就是地址不用再加&,但book.price这些就是普通的变量名,所以要加&
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-15 01:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表