C语言 怎么把字符数组中的字符赋值给字符变量 怎么进行字符串赋值?C语言

C\u8bed\u8a00\u600e\u6837\u7ed9\u5b57\u7b26\u6570\u7ec4\u8d4b\u503c

1\u3001\u5355\u5b57\u7b26\u8d4b\u503c\uff0c\u53ef\u901a\u8fc7\u6570\u7ec4\u4e0b\u6807\u65b9\u5f0f\u6216\u6307\u9488\u65b9\u5f0f\uff0c\u5f15\u7528\u6570\u7ec4\u5143\u7d20\uff0c\u8fdb\u884c\u8d4b\u503c\u3002
\u4f8b\u5b50:
char a[10];
char ch='a';
for( i=0;i<10;i++ )
a[i]=ch+i ; //\u53ef\u901a\u8fc7\u6570\u7ec4\u4e0b\u6807\u5f15\u7528\u6570\u7ec4\u5143\u7d20\uff0c\u5b8c\u6210\u8d4b\u503c
char *p;
for( p=a; p<a+10; p++ )
*p=ch++; //\u901a\u8fc7\u6307\u9488\u5bf9\u6570\u7ec4\u76f8\u5e94\u5143\u7d20\u8d4b

2\u3001\u5b57\u7b26\u4e32\u8d4b\u503c\uff0c\u53ef\u4f7f\u7528string.h\u5934\u6587\u4ef6\u4e2d\u7684\u5b57\u7b26\u4e32\u64cd\u4f5c\u51fd\u6570\u8fdb\u884c\u8d4b\u503c\u3002
\u4f8b\u5b50:
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
\u6269\u5c55\u8d44\u6599:C\u8bed\u8a00\u7ed9\u5b57\u7b26\u6570\u7ec4\u8d4b\u503c\u7684\u4f18\u70b9:
1\u3001\u7b80\u6d01\u7d27\u51d1\u3001\u7075\u6d3b\u65b9\u4fbf
C\u8bed\u8a00\u4e00\u5171\u53ea\u670932\u4e2a\u5173\u952e\u5b57\uff0c9\u79cd\u63a7\u5236\u8bed\u53e5\uff0c\u7a0b\u5e8f\u4e66\u5199\u5f62\u5f0f\u81ea\u7531\uff0c\u533a\u5206\u5927\u5c0f\u5199\u3002\u628a\u9ad8\u7ea7\u8bed\u8a00\u7684\u57fa\u672c\u7ed3\u6784\u548c\u8bed\u53e5\u4e0e\u4f4e\u7ea7\u8bed\u8a00\u7684\u5b9e\u7528\u6027\u7ed3\u5408\u8d77\u6765\u3002C \u8bed\u8a00\u53ef\u4ee5\u50cf\u6c47\u7f16\u8bed\u8a00\u4e00\u6837\u5bf9\u4f4d\u3001\u5b57\u8282\u548c\u5730\u5740\u8fdb\u884c\u64cd\u4f5c\uff0c\u800c\u8fd9\u4e09\u8005\u662f\u8ba1\u7b97\u673a\u6700\u57fa\u672c\u7684\u5de5\u4f5c\u5355\u5143\u3002
2\u3001\u8fd0\u7b97\u7b26\u4e30\u5bcc
C\u8bed\u8a00\u7684\u8fd0\u7b97\u7b26\u5305\u542b\u7684\u8303\u56f4\u5f88\u5e7f\u6cdb\uff0c\u5171\u670934\u79cd\u8fd0\u7b97\u7b26\u3002C\u8bed\u8a00\u628a\u62ec\u53f7\u3001\u8d4b\u503c\u3001\u5f3a\u5236\u7c7b\u578b\u8f6c\u6362\u7b49\u90fd\u4f5c\u4e3a\u8fd0\u7b97\u7b26\u5904\u7406\u3002\u4ece\u800c\u4f7fC\u8bed\u8a00\u7684\u8fd0\u7b97\u7c7b\u578b\u6781\u5176\u4e30\u5bcc\uff0c\u8868\u8fbe\u5f0f\u7c7b\u578b\u591a\u6837\u5316\u3002\u7075\u6d3b\u4f7f\u7528\u5404\u79cd\u8fd0\u7b97\u7b26\u53ef\u4ee5\u5b9e\u73b0\u5728\u5176\u5b83\u9ad8\u7ea7\u8bed\u8a00\u4e2d\u96be\u4ee5\u5b9e\u73b0\u7684\u8fd0\u7b97\u3002
\u53c2\u8003\u8d44\u6599:\u767e\u5ea6\u767e\u79d1 C\u8bed\u8a00\u57fa\u7840\u8bed\u53e5

\u5728C\u8bed\u8a00\u4e2d\uff0c\u5b57\u7b26\u4e32\u7684\u8d4b\u503c\u4e3b\u8981\u6709\u4e24\u79cd\u65b9\u6cd5\uff0c\u7b2c\u4e00\u79cd\u662f\u901a\u8fc7\u6307\u9488\u7684\u65b9\u5f0f\u76f4\u63a5\u8d4b\u503c\uff0c\u7b2c\u4e8c\u79cd\u662f\u901a\u8fc7\u6570\u7ec4\u76f4\u63a5\u8d4b\u503c\u3002
1\u3001\u6307\u9488\u5f0f\u8d4b\u503c\u3002

\u901a\u8fc7\u7a0b\u5e8f\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u53ef\u4ee5\u77e5\u9053\uff1achar *p = "hello";\u8fd9\u79cd\u5b57\u7b26\u4e32\u7684\u8d4b\u503c\u65b9\u5f0f\u662f\u5b8c\u5168\u6ca1\u6709\u95ee\u9898\u7684\u3002\u8981\u7406\u89e3\u8fd9\u79cd\u8d4b\u503c\u65b9\u5f0f\uff0c\u9996\u5148\u5f97\u7406\u89e3\u53cc\u5f15\u53f7\uff08\u7279\u522b\u6ce8\u610f\uff1a\u8fd9\u4e2a\u662f\u53cc\u5f15\u53f7\uff0c\u4e0d\u8981\u8d4b\u503c\u7684\u65f6\u5019\u7ed9\u5f04\u4e86\u4e2a\u5355\u5f15\u53f7\uff09\u5728\u8fd9\u4e2a\u8bed\u53e5\u4e2d\u505a\u4e86\u4ec0\u4e48\u5de5\u4f5c\u3002\u53cc\u5f15\u53f7\u4e3b\u8981\u505a\u4e863\u4e2a\u5de5\u4f5c\uff0c\u5206\u522b\u662f\uff1a
\uff081\uff09\u7533\u8bf7\u4e86\u7a7a\u95f4\uff08\u5728\u5e38\u91cf\u533a\uff09\uff0c\u5b58\u653e\u4e86\u5b57\u7b26\u4e32\u3002
\uff082\uff09\u5728\u5b57\u7b26\u4e32\u5c3e\u52a0\u4e0a\u4e86\u201c\0\u201d\u3002
\uff083\uff09\u8fd4\u56de\u5730\u5740\u3002
\u8fd9\u91cc\u6240\u8fd4\u56de\u7684\u5730\u5740\u5c31\u8d4b\u503c\u7ed9\u4e86char *\u7c7b\u578b\u7684\u6307\u9488\u53d8\u91cfp\u3002
2\u3001\u901a\u8fc7\u5b57\u7b26\u6570\u7ec4\u76f4\u63a5\u628a\u5b57\u7b26\u4e32\u8d4b\u503c\u3002\u7a0b\u5e8f\u5982\u4e0b\uff1a

\u6269\u5c55\u8d44\u6599\uff1a
\u5b57\u7b26\u4e32\u8d4b\u503c\u9700\u8981\u6ce8\u610f\u7684\u4e00\u4e9b\u95ee\u9898\uff1a
\u76f4\u63a5\u628a\u5b57\u7b26\u4e32\u8d4b\u503c\u7ed9\u6570\u7ec4\u540d\uff08\u4e5f\u5c31\u662f\u6570\u7ec4\u9996\u5143\u7d20\u7684\u9996\u5730\u5740\uff09\u662f\u4e0d\u884c\u7684\u3002

\u4f1a\u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef\uff1a


\u53c2\u8003\u8d44\u6599\uff1a
\u767e\u5ea6\u767e\u79d1--\u5b57\u7b26\u4e32\u8d4b\u503c

第一种写法,等同于char a[10] = {"abc"};
第一种写法,用一个字符串赋值,实际上保存了4个字节(包含字符串结束符)。
第二种写法,只赋值了三个字节。
1、char c[5];

c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;

2、charc[5]={‘H’,’e’,’l’,’l’,’o’};

3、(1)如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预测的;

(2)如果花括号中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理;

(3)如果花括号中提供的初值个数(即字符个数)小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即‘\0’);

4、(如何将字符串赋值给字符数组)

C语言中,将字符串作为字符数组来处理的。C语言规定了一个“字符串结束标志”,以字符’\0’作为标志。为此,再对字符数组初始化的方法补充一种用字符串常量来使字符数组初始化方法:

char c[] = {“Hello”};

或 char c[] =“Hello”; 注意:数组c的长度不是5,而是6.

上面的初始化等价于:char c[5]={‘H’,’e’,’l’,’l’,’o’,’\0’};

而不等价于:charc[5]={‘H’,’e’,’l’,’l’,’o’};

5、字符数组的输出

char c[] ={“Hello”};

printf(“%s”,c);

6、(如何将字符串赋值给字符数组)

strcpy(字符数组1,字符串2)

eg: char str1[10]=’’, str2={“Hello”};

strcpy(str1,str2);

执行后str1状态为:

H
e
l
l
o
\0
\0
\0
\0
\0
(1)“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是数组名,也可以是字符串常量。eg strcpy(str1, “Hello”);

(2)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两句都是不合法的:str1=”Hello”;

str1=str2;

而只能用strcpy函数将一个字符串复制到另一个字符数组中去,赋值语句只能将一个字符赋给一个字符型变量或者字符数组元素。如下面的语句是合法的:

char c[5],c1,c2;

c1=’A’;c2=’B’;

c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;

7、strlen函数是测试字符串实际长度(不包含‘\0’在内)的函数。

char c[10]=”Hello”’

printf(“%d”,strlen(c)); 或者Printf(“%d”,“Hello”); 输出为5

char szData[5]={'A','b','c','d','\0'};//字符数组
char ch = szData[3];// ch 的值为'd'


扩展阅读:打印字符数组c语言 ... c#如何将字符串转为数字 ... c语言串口打印数组 ... c语言 字符串转换数字 ... c语言字符数组拼接 ... c 如何比较字符串的大小 ... c #根据符号分割字符串 ... c语言二维字符数组 ... c语言怎么给字符数组赋值 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网