一个简单的数组结构体,但是不能输出小弟我预计的结果,求!
一个简单的数组结构体,但是不能输出我预计的结果,求高手指点!!
[size=16px][/size]运行环境:VC++6.0
#include<iostream.h>
struct customer
{
char name[60];
char address1[60];
char address2[60];
char city[60];
char state[3];
unsigned zip;
};
int main()
{
struct customer aCustomer;
aCustomer.name[0]='zyp';
aCustomer.address1[0]='Hn';
aCustomer.address2[0]='Yy';
aCustomer.city[0]='Tj';
aCustomer.zip=413403;
cout<<aCustomer.name[0]<<endl;
cout<<aCustomer.address1[0]<<endl;
cout<<aCustomer.address2[0]<<endl;
cout<<aCustomer.city[0]<<endl;
cout<<aCustomer.zip<<endl;
return(0);
}
我希望的输出结果是:
zyp
Hn
Yy
Tj
413403
但是实际输出是:
p
n
y
j
413403
问题出在哪里呢? 在线等答案!!!
------解决方案--------------------
[size=16px][/size]运行环境:VC++6.0
#include<iostream.h>
struct customer
{
char name[60];
char address1[60];
char address2[60];
char city[60];
char state[3];
unsigned zip;
};
int main()
{
struct customer aCustomer;
aCustomer.name[0]='zyp';
aCustomer.address1[0]='Hn';
aCustomer.address2[0]='Yy';
aCustomer.city[0]='Tj';
aCustomer.zip=413403;
cout<<aCustomer.name[0]<<endl;
cout<<aCustomer.address1[0]<<endl;
cout<<aCustomer.address2[0]<<endl;
cout<<aCustomer.city[0]<<endl;
cout<<aCustomer.zip<<endl;
return(0);
}
我希望的输出结果是:
zyp
Hn
Yy
Tj
413403
但是实际输出是:
p
n
y
j
413403
问题出在哪里呢? 在线等答案!!!
------解决方案--------------------
- C/C++ code
#include <iostream> #include <cstring> using namespace std; struct customer { char name[60]; char address1[60]; char address2[60]; char city[60]; char state[3]; unsigned zip; }; int main() { struct customer aCustomer; strcpy(aCustomer.name, "zyp"); strcpy(aCustomer.address1, "Hn"); strcpy(aCustomer.address2, "Yy"); strcpy(aCustomer.city, "Tj"); aCustomer.zip=413403; cout<<aCustomer.name<<endl; cout<<aCustomer.address1<<endl; cout<<aCustomer.address2<<endl; cout<<aCustomer.city<<endl; cout<<aCustomer.zip<<endl; system("pause"); return(0); }
------解决方案--------------------
aCustomer.name[0]='zyp';
aCustomer.address1[0]='Hn';
aCustomer.address2[0]='Yy';
aCustomer.city[0]='Tj';
你这样只能给数组的第一位赋值,其他位还是空的或未知,肯定不行了,要给字符数组赋值,得用strcpy
还有申明结构体,要清0,如下:
customer aCustomer;
memset(&aCustomer, 0, sizeof(customer));