求 高手 C语言 数组和数组之间能直接赋值吗

比如chara[100]={"asdsadsa"},b[100];可以把数组a中的字符串直接赋值给数组b吗... 比如 char a[100]={"asdsadsa"},b[100];
可以把数组a中的字符串直接赋值给数组b吗
展开
 我来答
百度网友6b46965
推荐于2017-09-22 · TA获得超过5583个赞
知道小有建树答主
回答量:957
采纳率:84%
帮助的人:419万
展开全部
楼主,你好

数组之间是不可以直接赋值的,要直接赋值的话,也只能是利用循环,一个一个的赋值,不过你所要实现的可以通过其他方法来实现,比如取地址运算,把数组a的首地址赋给B数组,不过这要通过指针来实现,还有一种简单点的方法就是拷贝运算,你可以利用c语言库里面已经定义好的函数直接实现你所要实现的功能,实现方法如下:

#include <string.h>
#include <stdio.h>
void main()
{
char a[100]={"asdsadsa"},b[100];
strcpy(b,a);
printf("%s\n",b);
}

希望可以帮到你
程序员殷保华
2012-12-11 · 专注于互联网、编程技术讨论交流。
程序员殷保华
采纳数:246 获赞数:7107

向TA提问 私信TA
展开全部
不能直接把数组a中的字符串赋值给数组b,要用循环在定义后,一个一个元素赋值。
在C/C++中,普通数组只是分配在连续地址上的一段相同类型的变量组成的,而不是一个变量。像a[n]并不是一个变量,而是通过指向第一个值的指针来操作的。数组和指针有着很密切的联系。可以认为数组操作是指针操作的另一种写法。因此像数组整体赋值这类操作是没有意义的,因为它们不是一个整体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Negamax
2012-12-11 · TA获得超过2721个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:284万
展开全部
不能。但是用个函数直接拷贝下就可以了

strcpy(b,a)
就搞定了。

测试结果“
a=asdsadsa
b=asdsadsa
请按任意键继续. . .

代码:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
main()
{
char a[100]={"asdsadsa"},b[100];
printf("a=%s\n",a);
strcpy(b,a);
printf("b=%s\n",b);
system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yiqiu2324
2012-12-11 · TA获得超过633个赞
知道小有建树答主
回答量:117
采纳率:100%
帮助的人:88.3万
展开全部
你难道是想 a=b??
首先你要明白:
数组名a,b代表指针常量,所以说赋值号左边必须是一个变量
a=b;
根本就是错误的
你可以通过以下两种方法赋值:
1.循环赋值
for(i=0;i<strlen(a);++i)//还可以用for(i=0;a[i]!='\0';++i) 但是如果你在初始化时强制的把'\0'去掉就 b[i]=a[i]; //不能用这种方法,另 unsigned int strlen(char * str) 统计字符串中有效字符

//的个数(不包括'\0') 如上例: strlen(a)=8
2.通过strcpy(字符串拷贝)函数
strcpy(b,a);
/*
函数原型:char * strcpy(char *str1,char *str2)
函数作用:把str2指向的字符串复制到str1中去
返回值为str1(str1指向的字符串的起始地址)

strlen与strcpy函数使用时都需要头文件#include<string.h>

*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bingo小董
2020-05-08 · TA获得超过229个赞
知道答主
回答量:119
采纳率:66%
帮助的人:21.3万
展开全部
您好,在c语言和c++语言中数组名就是一个指针地址,所以如果要赋值的话,如将b赋值给a,就要将b的指针地址赋值给a这个指针变量上:
```
void test4()
{
int a[2][2] = { {1,2},{3,4} };
int *b = a;
printf("out:%d", *b);
}
```
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式