Cout和printf在显示链表时显示不同的结果



我知道这个问题在这里已经解决了一百万次,我知道这是关于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版本中去掉制表符前后的空格

相关内容

  • 没有找到相关文章

最新更新