单片机C语言数组赋值求助

我先定义一个空的数组,如ucharfrist[5];我在程序中要对frist[]赋值,frist[5]={a,b,c,d,e,f};请问这样写语法有什么错误,该怎么写... 我先定义一个空的数组,如 uchar frist[5];
我在程序中要对frist[]赋值,frist[5]={a,b,c,d,e,f};
请问这样写语法有什么错误,该怎么写
展开
 我来答
只求诗中诗793
2011-05-10 · TA获得超过6.8万个赞
知道大有可为答主
回答量:4.4万
采纳率:0%
帮助的人:6480万
展开全部
数组只能在定义的时候整体赋值,不能在之后这样用。
所以你只能写成
uchar frist[5]={a,b,c,d,e,f};
而不能写成
uchar frist[5];
frist[5]={a,b,c,d,e,f};
如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。
或者先把所有值放在另外一个数值然后memcpy给目标数组。
huzengpan
推荐于2017-11-24 · TA获得超过1500个赞
知道小有建树答主
回答量:1199
采纳率:84%
帮助的人:434万
展开全部
uchar 你之前定义过吗?你这是对数组赋值,而数组的赋值只有二种方法,一种是初始化赋值,它可以对数组整体赋值,即,你可以用uchar frist[5]={xxxxx};
第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了。你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了。即只能用first [0]=a,first [1]=b,这样来赋值了。明白了吧,呵呵。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sheng2616589
2011-05-10
知道答主
回答量:27
采纳率:0%
帮助的人:19.9万
展开全部
uchar frifrist[5]={a,b,c,d,e};//正常,定义了五个元素,不能赋六个值,不能有f

frist[5]={a,b,c,d,e,f};//错误,应该写成frist[0]=a;frist[1]=b;frist[2]=c;frist[3]=d;frist[4]=e;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猪头帮帮主麦兜
2011-05-10 · TA获得超过790个赞
知道小有建树答主
回答量:514
采纳率:0%
帮助的人:686万
展开全部
少了引号
追问
哪里少的呢?
追答
uchar frist[5]={'a','b','c','d','e','f'};

但定义了之后赋值是不可以的,只能对内存操作或者循环赋值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式