C语言中怎么给数组某个元素赋值

int a=1;int b=2;int c[5];c[b]=a;//此句出错

没有赋值的元素的值都是初始值,写一个循环判断没有赋值的下标,再赋值就可以了!
#include <stdio.h>
void main()
{
int b,c[5]={0,1,2};
for(b = 0;b < 5;b ++){
if(c[b]==0){
c[b]=1;
break;
}
}
printf("%d",c[b]);
}
而且,数组是不能先定义再给它赋值的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-14
C语言中,定义数组后,对数组某个元素进行赋值的一般方法为:
数组名[下标]=x ;
其中:
x为相对应的变量或常量值。
下标可以是整型常量、变量或表达式,下标的有效取值范围为0-n(n为数组大小)
如:
int a[10] ; //定义一个有10个元素的整形数组
a[0]=5 ; //下标为常量
a[1]=8;
a[2]=a[0] ;

int b=3;
a[b]=10; //下标为变量

int i;
for( i=0;i<100;i++ )
a[i%10] += i ; //下标为表达式
第2个回答  推荐于2017-12-16
c语言的数组大小不能用变量,要用常量.c[b] 这个b是变量 于是出错了.改为c[2] 或者 const int b = 2; ps:给你看个绝的: int i [2] = {0,1}; int j = 1[i]; printf("%d",j);本回答被网友采纳
第3个回答  2013-10-13
数组的下标不能用变量