C语言一维数组赋值方法

只能用for语句逐个赋值吗... 只能用for语句逐个赋值吗 展开
 我来答
吉祥二进制
高粉答主

推荐于2017-10-10 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84568

向TA提问 私信TA
展开全部

  1、初始化时进行赋值。

 int a[2] = {1,2};
  char str[20] = "hello world";

  2、逐个赋值

  int a[4];
  a[0] = 1,a[1]=2, a[2] = 3, a[4]=4;

  等同于。

  for (int inx=0; inx!=4; ++inx) a[inx]=inx+1;

  3、通过函数复制数据以实现赋值

  比如下面的代码,通过memcpy函数来实现数据的复制,以实现数组赋值的功能。

   #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  int main()
  {
  int inx;
  int a[10] = {1,2,3,4,5,6,7,8,9,10};
  int b[5];
  //复制4个元素,b[4]将是随机值
  memcpy(b, a, 4 * sizeof(int));
  for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
  printf("\n");
  memcpy(b, a+4, 5 * sizeof(int));
  for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
  printf("\n");
  return 0;
  }

  

百度网友93be8ea
推荐于2019-08-08 · TA获得超过7323个赞
知道答主
回答量:66
采纳率:66%
帮助的人:1.9万
展开全部

不单能用for语句

一维数组的声明:

类型说明符 数组名[常量表达式] 

例如 int C[10],它表明数组名为C,此数组有十个整型变量。

注:常量表达式中可以包括常量和符号常量,不可以包括变量。也就是说,C不允许对数组的大小做动态定义,即数组的大小不依赖於程序运行过程中变量的值。

一维数组的引用:

C语言规定只能逐个引用数组元素而不能一次引用整个数组。

数组元素的表现形式为:数组名[下标] 下标可以是整型常量或整型表达式。例如  C[0]=C[5]+C[7]-C[3*2]

一维数组的初始化:

可以用赋值语句或输入语句使数组中的元素得到值,但这样会影响速度。可以使数组在运行之前初始化,即在编译阶段使之得到初值。在定义数组时对数组元素赋以初值。static int a[5]={0,1,2,3,4}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞猫猫猫猫
2010-07-20 · TA获得超过102个赞
知道小有建树答主
回答量:69
采纳率:0%
帮助的人:86万
展开全部
int i,a[10];
for(i=0;i<10;i++)
cin>>a[i];
这样可以用键盘赋值。输入时可以以空格或回车作为分隔符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tony_sgt
推荐于2017-10-04 · TA获得超过8418个赞
知道大有可为答主
回答量:5330
采纳率:66%
帮助的人:1172万
展开全部
int i,a[10];
for (i=10;i~=0;i--)
a[i]=i;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鄞家端木文心
2019-06-24 · TA获得超过3608个赞
知道小有建树答主
回答量:3155
采纳率:28%
帮助的人:412万
展开全部
main()
{int
a[10];int
b=3;
for(i=0;i<10;i++)
a[i]=0;
//空转
理论上在开头应该写a[10]={0}
即可
j=3;
//赋值但应该在开头定义j的类型,否则会报错
a[j]=b;
printf("%d",a[j]);}
结果估计是
0
要么就出错
这段程序有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式