我知道这个问题在这里已经解决了一百万次,我知道这是关于printf的类型安全(或者更确切地说是缺乏类型安全),但我希望得到一些帮助来修复,因为profit完全拒绝c++解决方案。我有以下结构:
struct node
{
char author[40];
char title[40];
float price;
int stock;
nod *next;
};
我知道信息是正确存储的,我已经把问题缩小到显示函数:
void display()
{
nod *nod;
nod=p;
while(nod)
{
printf("%s t %s t %e t%d", &node->auhtor, &node->title, &node->price, &node->stock);
node=node->next;}
printf("n");
}
}
我到底需要做些什么才能让它显示与
相同的结果cout<<nod->autor<<'t'<<nod->titlu<<'t'<<nod->pret<<'t'<<nod->stoc<<endl;
删除所有&号。您想要真正的交易,所以不要应用引用操作符。
首先,在printf版本中去掉制表符前后的空格