c语言int cin出现问题,关于C语言的问题,cin cout

匿名用户

1级

2007-10-29 回答

c++不能直接对字符数组赋予一个字符串,因为字符数组名是一个常量,不是左值。可以使用strcpy或者strncpy函数,strncpy可以限制输入的长度,防止溢出。

#include

#include

typedef struct

{

int num;

char name[10];

}stu;

stu x[5];

void main()

{

int i;

for(i=0;i<5;i++)

x[i].num=i;

/*通过strncpy函数给字符数组赋值*/

strncpy(x[0].name,"小明",sizeof(x[0].name));

strncpy(x[1].name,"小宝",sizeof("x[1].name"));

strncpy(x[2].name,"小曹",sizeof("x[2].name"));

strncpy(x[3].name,"小王",sizeof("x[3].name"));

strncpy(x[4].name,"小李",sizeof("x[4].name"));

for(i=0;i<5;i++)

cout<

}

当然如果用你自己的方法也可以,

只要把结构体中的name换成字符指针就可以了,

如下:

#include

#include

#include

typedef struct

{

int num;

char * name;

}stu;

stu x[5];

void main()

{

int i;

for(i=0;i<5;i++)

x[i].num=i;

x[0].name="小明";

x[1].name="小宝";

x[2].name="小曹";

x[3].name="小王";

x[4].name="小李";

for(i=0;i<5;i++)

cout<

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值