c语言中 字符串赋值给数组的三种表达方式是什么?

c语言中字符串赋值给数组的三种表达方式是什么?这个对不char[10];strcpy(b,"hello!");... c语言中 字符串赋值给数组的三种表达方式是什么?
这个对不 char[10];strcpy(b,"hello!");
展开
 我来答
小星星教育知识分享
高粉答主

2019-12-10 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67135

向TA提问 私信TA
展开全部

1、使用结构体类型(自定义类型)

#define MAXSIZE 20

typedef struct{

char ch[MAXSIZE];

int len;                

}String;

2、初始化字符串的方法:

String t;

StrAssign(t,"I am happy");     

3、初始化一个字符串的方法如下,在最后添加'\0'

char str[] = {'I','a','m','h','a','p','p','y','\0'};

扩展资料

C语言中字符串的定义方式

第1种:

char a[5]="hello";

第2种:

char a[]="hello";

第3种:

char* a="hello";

第4种:

char a[10];

gets(a);

第5种:

char* a[5]={"hello",

"nihao",

"good",

"ok",

"bye"};


         

藏天地
推荐于2018-02-27 · TA获得超过663个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:0
展开全部
1楼的答案是错误的,建议回答别人问题还是要看看书的!

第一种方式:定义的时候进行初始化
char str[200]={"abcd"};//这里去掉大括号也行

第二种方式:对数组各元素单独赋值

char str[200];
str[200]={'a','b','c','d'};
/*编译系统会在最后加上'\0'的,然后就是不能使用str[200]="abcd"的方式对字符数组进行整体赋值*/

第三种方式:应该是使用指针吧
char *str="abcd";
或者 char *str;
str="abcd";
使用指针时,这两种方式都是可以的,而且你可以使用下标的方式引用字符串中的各字符
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2016-10-10 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
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");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
还有:不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwl5209876
2009-03-16 · 超过12用户采纳过TA的回答
知道答主
回答量:249
采纳率:0%
帮助的人:70.5万
展开全部
char str1[12];int i;
for(i=0;i<12;i++)
scanf("&c",&str1[i]);

char str1[12];int i;
scanf("&s",&str1);

char str1[12];
gets(str1);
我应该没有也弄错你的意思吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef6f68e
2009-03-16 · 超过21用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:0
展开全部
char str[200]="abcd";

char str[200]={"abcd"};

char str[200];
str[200]="abcd";

不晓得你还要什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式