探讨C语言字符串的初始化,赋值以及会出现的问题

c语言里面没有字符串这种类型
通过字符数组来模拟字符串
c语言风格字符串是以 0\0 结尾的字符串

我们通过下面程序看看:                              

# include <stdio.h>
# include <stdlib.h>
# include <string.h>


int main(void)
{
	//字符数组初始化
	//指定长度,如果定义长度剩余部分补充0
	char buf1[100] = { 'a', 'b', 'c' };
	//不指定长度
	char buf2[] = { 'a', 'b', 'c' };
	char buf3[] = { 'a', 'b', 'c', '\0' };
	//通过字符串初始化字符数组,并追加\0
	char buf4[] = "abcd";
	printf("buf1 = %s\n", buf1);
	printf("buf2 = %s\n", buf2);//出现乱码,要末尾添加 '\0' 或 0
	printf("buf3 = %s\n", buf3);
	printf("buf4 = %s\n", buf4);//此处不可以用%c输出,%c一个字符,%s 一个字符串,遇空格、制表符或换行符结束。
	printf("sizeof(buf4):%d\n", sizeof(buf4));//注意sizeof是对整个数组类型进行大小测量࿰
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值