注册 登录
编程论坛 C++教室

结构指针返回问题

fcyvhk 发布于 2007-08-12 16:44, 747 次点击
#include<iostream.h>
#define null 0
struct sample //结构体
{ int num;
char color;
char type;
};
struct sample car[4]={{101,'g','c'},{210,'y','m'},{105,'r','t'},{0,0,0}}; //4个数据
struct sample *find(int n);
void main()
{ int number;
struct sample *result;
cout<<"enter the number:";
cin>>number;
result=find(number);
if (result->num!=null)
{ cout<<result->num<<endl;
cout<<result->color<<endl;
cout<<result->type<<endl;
}
else
cout<<"not found"<<endl;
}
struct sample *find(int n)
{
int i;
for(i=0;car[i].num!=null;i++)
if(car[i].num=n)
break;
return(&car[i]); //这里我返回的就是地址啊``郁闷- -
};
请大家帮我看一下,为什么我输入数字后,数字能和预先定义的相同,但后面2个字符就永远是g,c(第一个数据的值)
3 回复
#2
aipb20072007-08-12 21:32
if(car[i].num=n)

==和=的区别,注意啊!!!
#3
野比2007-08-12 23:35
我现在经常就把==和=搞乱...
VC和VB同时开发就是烦人...
#4
fcyvhk2007-08-13 05:31
以下是引用aipb2007在2007-8-12 21:32:09的发言:
if(car[i].num=n)

==和=的区别,注意啊!!!

我真是太粗心了,谢谢你的帮助

1