ghy19980814 2017-06-04 22:54 采纳率: 83.3%
浏览 894
已采纳

C语言结构体指针问题求修改

#include
int main(void)
{
struct student {
int num;
char name[19];
double score;
};
int i,k,N;
scanf("%d",&N);
for(i=0;i {
struct student s[3];
struct student *p;
for(k=0;k scanf("%d%s%lf",&s[k].num,&s[k].name,&s[k].score);
p = &s[k];
}
for(k=0;k printf("%d\t%-20s%lf\n",s[k].num,s[k].name,s[k].score);
}
for(k=0;k printf("%d\t%-20s%lf\n",p->num,p->name,p->score);
}
}
return 0;
}
编译器显示:Your Code: In function 'main':
Your Code:17:19: warning: format '%s' expects argument of type 'char ', but argument 3 has type 'char ()[19]' [-Wformat=]
scanf("%d%s%lf",&s[k].num,&s[k].name,&s[k].score);
^
0:编译失败,请检查源代码!

请问如何解决这个问题?谢谢各位好心人!急急急!!!


展开全部

  • 写回答

3条回答 默认 最新

  • 战在春秋 2017-06-04 23:09
    关注
     scanf("%d%s%lf",&s[k].num,&s[k].name,&s[k].score);
    

    应为:

     scanf("%d%s%lf",&s[k].num,s[k].name,&s[k].score);
    

    看一下结构体中name的定义:

     char name[19]; //数组名name就是数组的首地址,所以用%s读入时,不用再加取地址运算符&。
    

    用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥100 二维码被拦截如何处理
  • ¥15 怎么解决LogIn.vue中多出来的div
  • ¥15 优博讯dt50巴枪怎么提取镜像
  • ¥30 在CodBlock上用c++语言运行
  • ¥15 求C6748 IIC EEPROM程序固化烧写算法
  • ¥50 关于#php#的问题,请各位专家解答!
  • ¥15 python 3.8.0版本,安装官方库ibm_db遇到问题,提示找不到ibm_db模块。如何解决?
  • ¥15 TMUXHS4412如何防止静电,
  • ¥30 Metashape软件中如何将建模后的图像中的植被与庄稼点云删除
  • ¥20 机械振动学课后习题求解答
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部