为了账号安全,请及时绑定邮箱和手机立即绑定

这是一个子函数,还有几个子函数也出现了一样的问题,怎样修改?

这是一个子函数,还有几个子函数也出现了一样的问题,怎样修改?

C
当年话下 2023-04-23 17:13:32
void chabook(){int i;char name[30];struct book;cleardevice();setbkcolor(2);scanf("%d",s[c].no);scanf("%d",s[c].d);scanf("%s",s[c].na);scanf("%s",s[c].w);scanf("%d",s[c].day);scanf("%f",s[c].m);scanf("%d",s[c].be);scanf("%d",s[c].send);s[c].nomber=s[c].be+s[c].send;printf("\nThe name what you want to find:\n");scanf("%s",&name);for(i=0;i<n;i++){if(strcmp(name,s[c].na)==0){printf("\nThe data is:");pinrtf("\n| Serial number | code book | title | author | publication time | price | inventory | number out | whole |\n",s[i].no,s[i].d,s[i].na,s[i].w,s[i].day,s[i].m,s[i].be,s[i].sent,s[i].nomber");}if(i>=n)printf("\nNO BOOK YOU FIND!\n");}printf(" END ,enter 'o' exit");getchar();}中出现non-portable pointer conversion in function chabook的警告。………………有大神帮我弄明白整个大程序最好…………
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

你这个题很明显是pinrtf("\n| Serial number | code book | title | author | publication time | price | inventory | 这出了问题,你要打印的变量以何种格式输出?

另外,我不清楚你这个程序是不是你写,按照你的这种写法,其实是想按照某种对齐格式输出比如%16s,所以是不是用“sprintf” 以对齐的方式拷贝到内存里,第一行是序列化,书名等标题,第二行才是序列号,书名的内容。再打印出来更好,还有个snprintf函数,用法差不多,是为了防止越界的。

查看完整回答
反对 回复 2023-04-26
?
慕村225694

TA贡献1880条经验 获得超4个赞

pinrtf("\n| Serial number | code book | title | author | publication time | price | inventory | number out | whole |\n",s[i].no,s[i].d,s[i].na,s[i].w,s[i].day,s[i].m,s[i].be,s[i].sent,s[i].nomber");
这一句:
1)printf 拼写错误
2)没有格式化标示符
3)尾部括号内多了个引号"
4)中间的逗号为中文|\n",这个逗号,应该为英文逗号.
其他的有
n是不是全局变量? book 为什么没有用到?

如果还是不行,需要知道s结构体的格式.

查看完整回答
反对 回复 2023-04-26
  • 2 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信