首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个简单的数组结构体,但是不能输出小弟我预计的结果,求!

2012-03-22 
一个简单的数组结构体,但是不能输出我预计的结果,求高手指点!![size16px][/size]运行环境:VC++6.0#includ

一个简单的数组结构体,但是不能输出我预计的结果,求高手指点!!
[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));

热点排行