c语言之字符串+转义字符+注释

字符串

由双引号("")引起来的一串字符(字母和符号)成为字符串如"hello world\n"

\0这个转义字符做为字符串的结束标志,不算做字符串的内容

下面将几行代码来打印字符串的内容进而来解释转义字符\0的作用

#include <stdio.h>
int mian()
{
char arr1[] = "abc";
char arr2[] = {'a','b','c'};
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}

下面是代码的输出结果

可以看到字符串的输出结果是abc ,而下面数组输出的内容就是abc后面就是乱码,这是因为字符串本身带有\0这样的结束标志,但是\0又不作为字符串里面的内容。而且下面数组里面的三个字符abc后面并没有\0解释标志,所以会出现这种乱码现象。

下来把\0加进去看看结果

#include <stdio.h>
int mian()
{
char arr1[] = "abc";
char arr2[] = {'a','b','c','\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}

 同样的我们也可以用计算字符串的长度代码来显示\0的作用

#include <stdio.h>
#include <string.h>
int mian()
{
    char arr1[] = "abc";
    char arr2[] = {'a','b','c'};
    printf("%d\n",strlen(arr1));//strlen是计算字符串长度的函数,引用与头文件string之中
    printf("%d\n",strlen(arr2));
    return 0;
}

同样的我们看到一个是3而一个是42为啥同样都是abc而结果却不一样

这是因为字符串里面有\0结束标志,而数组里面没有,所以计算机只能继续寻找下去,直到找到结束标志,所以如果没有结束标志,那么计算的长度就是随机的

然后我们把结束表示\0就入进去就正常了。

#include <stdio.h>
#include <string.h>
int main()
{
    char arr1[] = "abc";
    char arr2[] = {'a','b','c','\0'};
    printf("%d\n",strlen(arr1));//strlen是计算字符串长度的函数,引用与头文件string之中
    printf("%d\n",strlen(arr2));
    return 0;
}

 

 转义字符

转义字符就是原来字符的意思加上斜杠\,转变了原来的意思。如\0

转义字符中的一道笔试题 

 

#include <stdio.h>
#include <string.h>
int main()
{
    printf("长度=%d\n",strlen("c:\test\628\test.c"));
    //  \62是一个转义字符 \t也是一个转义字符
    return 0;
}

 结果如下

注释 

 添加注释可以理解比较难懂的代码,注释符号//

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值