单片机C语言数组赋值求助
我先定义一个空的数组,如ucharfrist[5];我在程序中要对frist[]赋值,frist[5]={a,b,c,d,e,f};请问这样写语法有什么错误,该怎么写...
我先定义一个空的数组,如 uchar frist[5];
我在程序中要对frist[]赋值,frist[5]={a,b,c,d,e,f};
请问这样写语法有什么错误,该怎么写 展开
我在程序中要对frist[]赋值,frist[5]={a,b,c,d,e,f};
请问这样写语法有什么错误,该怎么写 展开
展开全部
uchar 你之前定义过吗?你这是对数组赋值,而数组的赋值只有二种方法,一种是初始化赋值,它可以对数组整体赋值,即,你可以用uchar frist[5]={xxxxx};
第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了。你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了。即只能用first [0]=a,first [1]=b,这样来赋值了。明白了吧,呵呵。
第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了。你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了。即只能用first [0]=a,first [1]=b,这样来赋值了。明白了吧,呵呵。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
frist[5]={a,b,c,d,e,f};//错误,应该写成frist[0]=a;frist[1]=b;frist[2]=c;frist[3]=d;frist[4]=e;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少了引号
追问
哪里少的呢?
追答
uchar frist[5]={'a','b','c','d','e','f'};
但定义了之后赋值是不可以的,只能对内存操作或者循环赋值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询