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函數,用法差不多,是為了防止越界的。

慕村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結構體的格式.
- 2 回答
- 0 關注
- 225 瀏覽
添加回答
舉報
0/150
提交
取消