当前位置:首页 » 编程语言 » c语言中的字符串值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中的字符串值

发布时间: 2023-08-10 12:14:28

A. c语言 怎么把字符数组中的字符赋值给字符变量

第一种写法,等同于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

B. C语言中怎么字符串赋值

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

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

C. C语言中将字符串赋值给字符数组的问题

char s[20];s="helo";这样错误的原因就是:不能用赋值语句将一个字符串常量直接给一个字符数组赋值。

char s[20];

char ss[]="hello";

s=ss;错误原因是:不能用赋值语句将一个字符数组直接给一个字符数组赋值
,即字符串的复制(c语言中,但是在c++的string 类,上面的赋值是正确的)必须用strcpy()函数实现。

而char a[ ]=”toyou“;正确的原因是:因为在声明数组变量的时候就是,为其开辟空间,并为其初始化,这样才是符合c语言语法的。

D. C语言 字符串赋值

char
string[500]="abcdefg";
这个就是说你在给一个数组赋值
但是如果你定义完数组以后又这样
string[500]="abcdefg";
就是说你在给数组里的第500个元素赋值
首先数组下标最大是499
没有500
其次
只能存放一个字符你确放了一个字符串
当然不对了

E. 怎样在C语言中修改字符串的一个字符的值

根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char
str[]="hello"
;
int
i;
for(
i=0;str[i];i++
)
printf("%c\n",
str[i]
);
//以数组方式引用一个字符:str[i]
for(
i=0;*(str+i);i++
)
printf("%c\n",
*(str+i)
);
//以指针方式引用一个字符:*(str+i)
存储在string中(仅支持C++)
string
str="abcde";
for(string::iterator
iter
=
s.begin();
iter!=s.end();
iter++)
//使用迭代器
{
cout<<*iter<<endl;
}
cout<<endl;
for(
int
i=0;i<s.length();i++
)
{
cout<<s[i]<<endl;
//使用数组方式调用,得到单个元素
}

F. C语言关于字符串的赋值。

你要搞清一个事
char
a='b',有‘’(表示赋值的值是字符型的),所以是把字符b赋给a,char
a=
66,没有‘’,所以是把66赋给a,但是a是字符型的,所以把66转换为字符型输出(即字符B)
char
c=0x41;(16进制)
char
c=65;
(十进制)
char
c=o101;(8进制)
上面三个实际上是发生了转换

G. C字符串赋值

字符串不能这样赋值
*str其实和str[0]是等效的
另外str是数组,所以这个指针是常量,所以也不能使用类似str="asdf";的方式进行赋值。
你可以用<string.h>中的strcpy()函数,该函数会自动添加\0

#include<stdio.h>

main()
{
char str[40];
strcpy(str,"aldkjflakdsjfalkfj");
puts(str);
}