【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并打印。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。