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

关于数组赋值有关问题!

2012-11-09 
关于数组赋值问题!!!!!!!!!急急急!!!通常数组这样赋值:int a1[3]{1,2,3}如今,我想这样:int a1[3]memset

关于数组赋值问题!!!!!!!!!急急急!!!
通常数组这样赋值:

int a1[3]={1,2,3};

如今,我想这样:

int a1[3];

memset(a1,0,3*sizeof(int));

a1[3]={1,2,3}; // 这样不行!报错。


然后再这里如何快速输入我想输入数字?
不一定是{1,2,3},也可以是任意的数字。

报错:
 error C2059: 语法错误:“{”

[解决办法]
语法就是这样啊.
[解决办法]

int a1[3];

memset(a1,0,3*sizeof(int));

下面只能用for()
然后逐个赋值
[解决办法]
要么这样int a1[3]={1,2,3};
像你那样只能用for 然后赋值
[解决办法]
请看一下有关数组的初始化的内容。
[解决办法]
memeset是以字节为单位赋值的,你的那行代码其实意思是:0x000000
[解决办法]
只有在定义时可这样初始化:int a1[3]={1,2,3};
若 这样:int a1[3];
a1[3]={1,2,3};//非法赋值
则是语法上不正确的,语法就是语法,没必要较真。
 
个人拙见,仅供参考
[解决办法]
a1[3]数组,只有三个元素a1[0],a1[1],a1[2],没有a1[3]
[解决办法]
a1[3],直接这样用的话是用歧义的,编译器将理解为将数组中为第四个元素付值。
而前面有类型的话,编译器将其理解为定义。
说到底,根本原因还是一个语法规定的问题,没必要深究
[解决办法]
{}这种用法仅限于初始化,赋值的话就是错的
[解决办法]
int a[3];
这是定义长度为3的数组a
a[3];
这是数组a偏移3个int后指向的数值,也就是数组a的第四个数

别自己发明语法
你想的再怎么合理(准确的说,是你自以为合理),只要C++标准委员会不认可,那就是你的妄想
[解决办法]
肯定不行啊,你a1[3]定义了吗?你只是定义了int a1[3](a1[0],a1[1],a3[2]),而没有定义a1[3],还要注意的是a1[3]后面的{....}赋值,只能初始化的时候使用,你这样用,必然错误。

热点排行