标题:结构体
只看楼主
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
结帖率:100%
已结贴  问题点数:17 回复次数:6 
结构体
struct product
{
    char name[20];
    char shape[20];
    char color[10];
    float price;
    char area[10];
}product1;
int main()
{
    printf("请输入商品的名称:\n");
    scanf("%s",&product1.name);
    printf("请输入商品的形状:\n");
    scanf("%s",&product1.shape);
    printf("请输入商品的颜色:\n");
    scanf("%s",&product1.color);
    printf("请输入商品的价格:\n");
    scanf("%f",&product1.price);
    printf("请输入商品的产地:\n");
    scanf("%s",&product1.area);
    printf("名称:%s\n",product1.name);
    printf("形状:%s\n",product1.shape);
    printf("颜色:%s\n",product1.color);
    printf("价格:%f\n",product1.price);
    printf("产地:%s\n",product1.area);
}
为什么输入对product1的成员输入时都需要加&呢,比如name[20],name不就是name数组的首元素地址吗
搜索更多相关主题的帖子: name printf 输入 商品 scanf 
2017-10-12 11:35
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:6 
以下是引用前往企鹅屋在2017-10-12 11:35:17的发言:

为什么输入对product1的成员输入时都需要加&呢,比如name[20],name不就是name数组的首元素地址吗


不都需要。 字符串输入不加&, 如你所说“比如name[20],name不就是name数组的首元素地址吗”
例如 printf("请输入商品的名称:\n");
     scanf("%s",product1.name);

早知做人那么辛苦!  当初不应该下凡
2017-10-12 12:37
李岚
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:72
注 册:2017-8-31
得分:6 
以上的源代码是有问题的,像你所说的,不用加&符号,因为当前面是%s时,你后面的参数必须是char *的类型,如果加了&符号你的参数就是char**类型,那么就不符合函数参数类型了,所以那样根本编译不过,提示是参数类型和函数类型不符合
2017-10-12 13:18
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
得分:0 
程序我验证过,能编译通过得到结果
2017-10-12 13:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:6 
这样好象都可以
scanf("%s",product1.name);
scanf("%s",&product1.name);
scanf("%s",&product1.name[0]);
2017-10-12 15:07
李岚
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:72
注 册:2017-8-31
得分:0 
那就是可能不同的编译器的结果吧,我用的是Ubuntu系统带的,直接就提示erro了
2017-10-12 18:10
前往企鹅屋
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-10-9
得分:0 
书上说的,字符串数组的name就表示字符串首地址,所以输入时不用取址符;price是float型,输入时需要加取址符。vc6.0环境下。
2017-10-16 14:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481310-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013081 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved