字符串与\0

文章探讨了C语言中字符串的概念,指出字符串由双引号括起的字符序列组成,以作为终止符。在没有的情况下,打印字符串可能会导致乱码,因为打印会持续到遇到为止。通过对比初始化为字符数组和字符串常量的两种方式,强调了在字符串结束和正确打印中的关键作用。
摘要由CSDN通过智能技术生成

  在C语言中,我们通常将使用双引号括起来的一串字符称为字符串;

      如:"abcd"即为一串字符串,字符串的打印格式可用%s来指定


printf ("%s\n","abcd");

 

我们按下F10并打开监视窗口会发现在实际运行时数会发现除abcd外的第五个特殊字符\0

    那么这个特殊字符的作用?

我们试着探究一下

char string1[] = {'a','b','c','d'};

char string2[] = "abcd";


printf("%s\n",string1);

printf("%s\n",string2);

在运行时string1打印出一堆乱码

 观察其内容发现string2多出一个\0

 如果我们在string1后也加个\0运行结果会是怎样?

 

 我们发现加入后打印恢复正常这说明在没加\0之前string1在打印完abcd后打印还没结束直到在乱码中得到\0结束打印

而string2打印完全正常是因为string2数组是使用字符串常量初始化的,数组中有\0可以结束打印

 

新手上路,若有问题,请多指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值