2011-11-15 44 views
1

我知道这里已经解决了这个问题一百万次,并且我知道它是关于printf的类型安全(或者说缺少它),但是我想要一些帮助因为教授完全拒绝C++解决方案。 我有以下结构:cout和printf在显示链接列表中显示不同的结果

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; 
+1

你可以请你发布每个版本的输出吗?并说明你看到了哪些区别? – thiton

+4

你似乎没有决定如何拼写变量名称。这可能是一个开始。 –

+0

投入'<<'运算符周围的空格。 –

回答

2

只需删除所有&符。你想要真正的交易,所以不要应用参考运算符。

0

首先,删除printf版本中选项卡前后的空格。