C语言里如何把输入字符串赋值给字符数组?

说个例子吧~

【C语言】如何把输入字符串赋值给字符数组?【C语言】如何把输入字符串赋值给字符数组?


【C语言】如何把输入字符串赋值给字符数组?


【C语言】如何把输入字符串赋值给字符数组?


char

a[10];

怎么给这个数组赋值呢?

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");

说个例子吧~

char

a[10];

怎么给这个数组赋值呢?

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");

#include

int

main()

{char

s[20];

scanf("%s",s);

printf("%sn",s);

return

0;

}直接用scanf接收输入就可以给字符数组。

如何将一个字符串输入到一个数组中?

字符串存储在数组中一般有如下几种方法:x0dx0a1、声明数组时赋值,如:char str[]="abcd";x0dx0a2、运行时由键盘输入,如:scanf("%s",str);要确定输入的字符串长度不大于数组长度减一;x0dx0a3、在程序代码中把另一个字符串赋值给一个数组用函数strcpy,如:strcpy(str,"abcd");或者strcpy(str,str2);str2为一个存有字符串的数组,或者指向字符串的指针。这个保证str要能放得下字符串。

字符串数组赋值

可以使用strcpy(string,"赋值 ")

直接string[]=" ".这是一维的。二维的string[]={{},{},{]}(以三行的为例)

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

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";

使用指针时,这两种方式都是可以的,而且你可以使用下标的方式引用字符串中的各字符

怎么进行字符串赋值?C语言

字符串赋值的方法:

1、定义的时候直接用字符串赋值

例如:

{ char s[100];

strcpy(s, "The writer would like to thank you for"

"your interest in his book. He hopes you"

"can get some s from the book."); }

2、对数组中字符逐个赋值

字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。

如:char a[10]={'h','e','l','l','o'};

3、利用strcpy

strcpy是一种C语言的标准库函数,strcpy把含有'0'结束符的字符串到另一个地址空间,返回值的类型为char。

如:char a[10];

strcpy(a, "hello");

扩展资料

字符串赋值的注意事项:

1、在使用指针的时候,指针可以自增,而数组名不能自增编译器给数组分配了空间。

2、在指针自增的时候,编译器会自动识别类型,比如指针是指向int型的,想获取下一个的地址时,指针直接p++就行了,不要多此一举的p+4了。

3、在void指针使用的时候,不能使用指针运算,因为void型编译器不能识别类型的长度(即指针所指对象的体积),p++这样就是不合法的,即不能进行数算,也不能使用取值作,想使用必须转换为其它的类型。

参考资料来源:

一、题目大意为输出一个已知的字符串。

解题思路:

定义一个字符数组,并用“初始化列表”对其赋以初值

用循环逐个输出此字符数组中的字符

#include

int main()

{ char c[15]={'r',' ','i','g',' ','g',

' ','h','t','u',};

int i;

for(i=0;i<15;i++)

printf("A=%c",c[i]);

printf("

return 0;

}扩展资料:

相关知识点:字符数组的输入输出可以有两种方法。

(1)逐个字符输入输出(%c)

(2)整个字符串一次输入输出(%s)

输出的字符中不包括结束符’0’。用%s输出字符串时,printf函数中的输出项是字符数组名,不是数组元素名。如果一个字符数组中包含多个’0’,则。遇个’0’时输出就结束

用scanf函数输入一个字符串,scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度。

(3)在C语言中,是将字符串作为字符数组来处理的,关心的是字符串的有效长度而不是字符数组的长度。为了测定字符串的实际长度,C语言规定了字符串结束标志’0’。

(4) ’0’代表ASCII码为0的字符,从ASCII码表可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空作符”,即它什么也不做。用它作为字符串结束标志不会产生附加的作或增加有效字符,只起一个供辨别的标志

(5)字符的不同写法

(6) 字符串结束标志

在C语言中,字符串是以字符数组形式存储的,并约定以0作为结束符。所以字符串赋值不能直接用=赋值,而是要用专门的函数进行,在C语言中,这个函数为strcpy。

1 函数名 :

strcpy

2 形式:

char strcpy(char dst, const char src);

3 头文件:

string.h

4 功能:

将src中的字符串到dst中,并返回dst的首地址。

5 示例:

char buf[100], buf1[100];

strcpy(buf, "test");// 将字符串test赋值到buf。

strcpy(buf1, buf); //将字符串buf的值,赋值给buf1.

string赋值,需要加个#include

然后用strcpy

strcpy(A,"right");来完成,试看吧

会有return, return a得值所以也可以写成

printf("%sn",strcpy(A,"right"));

因为string 或者 char array 不能直接赐值,

所以要用里的工具来完成。

首先要弄清楚

什么是

字符串指针,还有什么叫字符数组。

字符串指针只是一个指针,就像你上面

的A

里面的

s没有初始化,那么你调用读串

函数

数据要写到哪里呢?

不知道吧

,因

为s

不知道

指向哪里。

char

s;

s="ABCDEF";

这又是什么意思呢?

这个作

是将一个

串("ABCDEF"

在内存中已经存在了),只是将这个串的首地址

赋给

s,也就是让

s指向

这个串。你可以把这个串理解成

在编译时期就已经确定好了的数据。我们可以用它。但不能更改他的值。

什么叫

字符数组呢?

首先要弄清楚

什么叫

数组

,如

int

array[4]={1,2,3,4};

这是什么意思呢?

就是

四个连续的整数

吧。

同样

字符数组也

是连续的

N个字符吧

如char

arr[3]={'A','B','C'};

这是一个数组

,有三个元素,分别是

AB

C,看起来“好像”字符串呀,为什么是

“好像”,因为它与字符串

有着本质的区别。字符串

是N

个连续的字符

+‘0’

组成,

我们上面的

例子只有

N个连续的字符,没有

‘0’

吧。所以它不是字符串。

为了使用方便

呢,编译器允许我们

使用如下方式初始化一个字符串。

1:char

s="abcdef";

2:char

ss[10]="abcd";

3:char

sss[10]={"kkkk"};

上面三种方式

都是正确的,但是

有区别。

1:

上面已经讲了,是将已经存在于内存中的字符串的首地址

赋值给

s2:

这是将已经存在于内存中的字符串

拷贝到ss

这个数组里面,是一个拷贝

过程,产生的影响是系统中存在两个

相同的字符串。

3:同2

如果要对质富川进行赋值的话。首先你要拥有一个字符串变量比如说str如果要对质富川进行赋值的话,首先你要拥有一个字符串变量,比如说string a

然后你就可以说a等于多少多少加个引号就行了

char A[]="right";

printf("%s",A);

就可以了,单个char型变量只能存一个字符,所以字符串要用一个字符数组来存。

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char

a[20];strcpy(a,

"hello");printf("%s",

a);。

3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char

a[20];strcpy(a,

"hello");printf("%s",

a);。

3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。