8、字符串数组

字符串数组
#include <stdio.h>

int main(int argc, char const *argv[])
{
	//1、C语言没有字符串类型,用字符数组模拟
	char a[10];

	//2、字符串一定是字符数组,字符数组就不一定是字符串
	//3、如果字符数组以字符'\0'('\0'等价于数字0)结尾,那么这个字符数组就是字符串
	char b[3] = {'a' , 'b', 'c'};//字符数组
	char c[10] = {'a' , 'b', 'c', '\0'};//字符串
	char d[10] = {'a' , 'b', 'c', '0'};//字符串

	//字符数组的初始化
	char a1[] = {'a' , 'b', 'c'};//字符数组
//这里需要注意
	printf("a1 = %s\n", a1);//会出现乱码,因为没有结束符


	char a2[] = {'a' , 'b', 'c', '0'};//字符串
	printf("a2 = %s\n", a2);

	char a3[] = {'a' , 'b', 'c', '\0'};//字符串
	printf("a3 = %s\n", a3);

	char a4[] = {'a' , 'b', 'c', 'h', 'e', '\0'};//字符串
	printf("a4 = %s\n", a4);//abche

	char a5[] = {'a' , 'b', 'c', '\0', 'h', 'e', '\0'};//字符串
	printf("a5 = %s\n", a5);//abc
	//注意遇到结束符,结束打印

	char a6[10] = {'a', 'b', 'c'};//前3个字符赋值a,b,c,后面自动赋值为0
	printf("a6 = %s\n", a6);

	//1、常用的初始化,使用字符串初始化,在字符串结尾自动加结束符数字0
	//2、这个结束符,用户看不到(隐藏),但是是存在的
	char a7[10] = "abc";
	printf(a7 = "%s\n", a7);

	char a8[] = "abc";
	printf("sizeof(a8) = %lu\n", sizeof(a8));//4

	char a9[] = "\0abc";
	printf("a9 = %s\n", a9);

	//\0后面最好别跟数字,有可能组成一个转移字符,'\012'就是'\n'
	char a10[] = "\012abc";
	printf("a10 = %s\n", a10);


	//注意:
	//字符数组输入
	char str[100];
	scanf("%s", str);//遇到空格截断
	

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值