C语言怎么对数组重新赋值,比如在开头写 int a [ ] =“i am China”; 然

作者&投稿:厉维 (若有异议请与网页底部的电邮联系)
C语言如何把数组a赋值给数组b.~

int main(){ int a[20] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; int b[20] = {2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40}; memcpy(b, a, 20 * sizeof(int)); return 0;}

  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   #include   #include   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", b[inx]);  printf("
");  memcpy(b, a+4, 5 * sizeof(int));  for (inx=0; inx!=5; ++inx) printf("%d", b[inx]);  printf("
");  return 0;  }  

这当然是不可以的啦,数组的赋值和普通的变量赋值是有很大区别的。
对于字符串数组类型是char [],相应的类型只能保存相应类型的数据
对于字符串数组赋值可以借助strcpy函数来完成,但是对于普通的数组,如int数组,就只能一个一个的为其中的特定位置的元素进行复制了。

你可以这样 操作
#include<stdio.h>

void main()
{

char a[] = "i am China";
char *p = a;
printf("%s\n", a);

p = "i am z";
printf("%s\n", p);

}

不可以,只能用函数或循环的方式


C语言编写程序,将一个一维数组的值按逆序重新存放。
int main(){ int a[5]={8,6,5,4,1},i,n=5,temp;for(i=0;i<n\/2;i++){ temp=a[i];a[i]=a[n-i-1];a[n-i-1]=temp;} for(i=0;i<n;i++){ printf("%d\\t",a[i]);} system("pause");return 0;}

在C语言中 怎么给已初始化好的数组重新赋值 unsigned int a[4]={1...
如果都使用一样的值,则可以用memset函数,全部清成一样的如果是有规律的,则用while循环,或者for循环复制如果没有任何规律,就只能一个一个赋值了~~~

c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5...
1、首先以一个数组变量和一个数组长度变量。2、接下来假设有一个数组交换的函数和一个输出的函数。3、接下来我们开始编写逆序交换。4、此时,我们开始swap交换函数。5、然后我们定义函数声明。6、然后再编写输出函数就可以了,全部代码如图。

C语言怎么对数组重新赋值,比如在开头写 int a [ ] =“i am China...
对于字符串数组赋值可以借助strcpy函数来完成,但是对于普通的数组,如int数组,就只能一个一个的为其中的特定位置的元素进行复制了。

C语言中怎样实现对数组数据的删除、修改?
printf("\\n\\n");\\x0d\\x0a}\/\/输出 \\x0d\\x0avoid setnum(){\\x0d\\x0a int i;\\x0d\\x0a printf("输入n,表示共有n组数据:\\n");\\x0d\\x0a scanf("%d",&n);\\x0d\\x0a for(i=1;i<=n;i++){\\x0d\\x0a printf("...

用C语言将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4...
int main(){ int a[20]={1,0},i,n,j;printf("请输入数组元素的个数:");scanf("%d",&n);printf("请输入数组元素:\\n");for(i=0;i<n;i++)scanf("%d",&a);for(i=0;i<n\/2;i++)a=a[n-1-i];printf("逆序存放后的数组:\\n");for(i=0;i<n;i++)printf("%d",a)...

用C语言将一个数组中的值按逆序重新存放,怎么编辑?
void reverse(int* m,int n)\/\/其中m表示数组,n表示数组元素个数{int i=0;int k=(n+1)\/2;int* ptStart=m;int* ptEnd=m+n-1;while(i<k){if(ptStart==ptEnd)break;int 这题目书上有例子的,你还是自己把书多看几遍吧,我开始跟你一样,一看到不懂就想问别人, 先把书上想关例子...

用C语言将一个数组中的值按逆序重新存放怎么操作?
printf("\\nNow,array a:\\n");for (i=0;i<N;i++)printf("%4d",a[i]);printf("\\n");return 0;} C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,...

C语言二维数组输入错误后怎么报错重新输入
1 输入的数据格式不正确,比如要求输入整型,但是输入了字符型。这种情况,可以通过scanf的返回值进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,要求重新输入。2 输入的数据不在合法范围内。比如要求输入正数,但输入了负数。这时需要判断输入的值是否合法。

C语言中定义数组时对其全部初始化为1的问题
这种写法不可以,要写成 int a[10] = {1,1,1,1,1,1,1,1,1,1};你的那种只是a[0]=1;而a[1]~a[9]都是默认值哦!

通川区15131066371: C语言怎么对数组重新赋值,比如在开头写 int a [ ] =“i am China”; 然 -
宜洁天晴: 这当然是不可以的啦,数组的赋值和普通的变量赋值是有很大区别的. 对于字符串数组类型是char [],相应的类型只能保存相应类型的数据 对于字符串数组赋值可以借助strcpy函数来完成,但是对于普通的数组,如int数组,就只能一个一个的为其中的特定位置的元素进行复制了.

通川区15131066371: c语言怎样给数组赋值 -
宜洁天晴: 1、定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的! 2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'}; 3、利用strcpy char a[10]; strcpy(a, "hello");

通川区15131066371: C语言怎样给字符数组赋值 -
宜洁天晴: 给字符数组赋值分两种情况,单字符赋值和字符串赋值. 单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如: char a[10]; char ch='a'; for( i=0;i<10;i++ )a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值 char *p; for...

通川区15131066371: c语言给二维数组赋值,然后再原样输出 -
宜洁天晴: #include int main () { int arr[10][10] = {0}; int i,j; for (i = 0;i <= 9;i++) { for (j = 0;j <= 9;j++) { printf ("%d ",arr[i][j]); } printf ("\n"); } return 0; }

通川区15131066371: 在C语言中 怎么给已初始化好的数组重新赋值 unsigned int a[4]={1,2,3,4,5}; -
宜洁天晴: 如果都使用一样的值,则可以用memset函数,全部清成一样的如果是有规律的,则用while循环,或者for循环复制如果没有任何规律,就只能一个一个赋值了~~~~

通川区15131066371: 在C语言如何在定义数组时给数组赋值? -
宜洁天晴: 第一种初始化 int u[3][3] = {{1,1,1},{2,2,2},{3,3,3}}; 第二种 从键盘手动输入 int i,j; for(i=0; i<3; i++){for(j=0; j<3; j++){scanf("%d",&u[i][j]);} }

通川区15131066371: C语言中怎样用for循环给字符数组赋值 -
宜洁天晴: 1. 方法一: char a[100];for(;scanf("%c",&a[i])!=EOF;); //for循环读入每个字符,包括空格符,换行符,直到文件末尾.这样整个输入都被读到一个字符串当中. 2. 方法二:char a[100][100]; int i;for(;gets(a[i++]);); //for循环读入每行字符串,这样每行输入由一个字符串储存.

通川区15131066371: C语言中如何一次给一个数组变量赋值 -
宜洁天晴: 即使用scanf也可以很多方法,严谨点就是循环 for(int i=0;i<20;i++) {printf("please input A[%d]:",i);scanf("%d",&A[i]); }要么一次输入一串字符,处理获取到的字符串(比较麻烦我就写伪代码了). char ch[1024]; printf("please input A[0] to A[19],use ';' as a delimiter:"); scanf("%s",ch); 检查输入的是否是数字 检查是否有不正确的分隔符 检查是否输入了20个数 通过下标查找分隔符,获取对应的数字 通过atoi函数把截取出的数字字符串变为整数 over

通川区15131066371: 关于c语言中数组问题,如何将将一组数组的部分字符赋值给另一个数组? -
宜洁天晴: 可以自己定义一个函数来完成,举例如下: //#include "stdafx.h"//If the vc++6.0, with this line. #include "stdio.h" /*本函数将源字符串s中第n个下标开始的m个字符拷入目标t并在最后补'\0'*/ char *myfun(char *t,const char *s,int n,int m){char *p=t;...

通川区15131066371: C语言:对数组赋值.很简单 -
宜洁天晴: 回答,对全部元素赋初值(既提供全部初始数据,就是不用scanf函数在输入了),则定义数组时对第一维长度可以不指定,但是第二维长度不能省. 你的数组赋初值可以这么写 int a[][3]={{1,2,3},{4,5,6}}; 这样就对了,标点符号要英文的,也就是半角的.你写的那个不正确,编译系统会报错的.而且在补充一点://才是注视的符号,我叫他反斜杠,就是与除号相反.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网