C语言 字符串赋值

C语言 字符串赋值,第1张

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

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

字符串一般有两种赋值方式
在定义时赋值:
char str= "hello, world
使用strcpy(dst_str,
src_str)
赋值:
char str1 = "hello, world";
char str2[20];
strcpy(str2, str1);

字符串赋值应该使用 strcpy

比如

#include <stdioh>
#include <stdlibh>
#include <stringh>
void main(){
char str1="hello";
char str2;
strcpy(str1,str2)
}

字符串 赋给 字符串,要用 strcpy() 这类函数, 例如:
char str1[2][10],str2[2][10]={"ABCDEFG", "01234567"};
strcpy(str1[1], str2[0]);
strcpy(str1[0], str2[1]);
printf("%s %s", str1[0],str1[1]);
---------------------------------
字符数组中的一个元素, 赋给另一个字符数组中的一个元素:
#include <stdioh>
int main(){
char str1[10],str2[10]="01234567";
str1[3]=str2[5];
printf("%c %c",str1[3],str2[5]);
return 0;
}

1、char类型,也就是常说字符类型。char类型和其它类型一样在定义和初始化上可以先声明(定义),再赋值(初始化)。使用char来定义一个字符,通过单引号括起来的单个字符赋值给它。

2、当然你也可以在定义变量的时候就初始化(也就是在声明的时候赋值)。

3、注意字符并不意味着字母,单引号括起来的单个字符。所谓单个字符可以是数字、中文之类的。

4、字符类型可以自动转化为存储空间比它大的int类型。例如下面的例子,c是字符,把它赋值int类型的i1时,却不报错就是因为自动转化。

5、int转化为字类型时(这种是属于存储空间由大向小的转化),则需要强转。

6、加了强制转换这后,它就不报错了。

可以使用memset函数将字符串数组中所有元素全部设置为\0即可。
函数原型:void memset(void s, int ch, size_t n);
函数说明:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
示例:
#include <stdioh>
#include <stringh>

int main()
{
char buf[256] = "hello world"; //buf字符数组初始化
printf("%d\n", strlen(buf));
memset(buf, 0x00, sizeof (char) 256); //全部设置为0x00即\0字符
printf("%d\n", strlen(buf));
return 0;
}

其实用c也很简单的,c里有用于处理字符串的头文件stringh
strcat()函数就是将两个字符串连接
不过在c里面是没字符串变量这个概念的,用字符指针来实现
下面是程序
#include"stdioh"
#include"stdlibh"
#include"stringh"
main(){
char
send
=
"whatyouwant";/用你想要的东西代替whatyouwant稍改一下可以自己输入,自己完成这个功能吧/
char
addr;
addr
=
strcat(send,"@163com");/将@163com连接到send的后面/
printf("%s",addr);
/打印结果/
getch();
}
本人亲自编译通过


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12778251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存