零基础学C语言 笔记九 字符串

1.字符串
如果你存放的是一个字符串,那么就必须要有一个’\0’字符来表示字符串的结束
注意:

char name[10] = {‘l’,’o’,’v’,’e’,’\0’};//这个字符数组的长度是10,字符串的长度是4
char name1[3] = {‘l’,’o’,’v’,’e’,’\0’};存储不下,没有\0,就不安全
char name2[] = {‘l’,’o’,’v’,’e’,’\0’};这个字符数组的长度是5,字符串长度是4
char name3[] = {“love”};这个字符数组的长度是5,字符串的长度是4char name4[] = “love”;这个字符数组的长度还是5,字符串的长度是4

2.如何输出一个字符串
a.因为字符串是存放在char类型的数组里面的,所以可以用循环把字符数组里面的每一个元素用%c打印出来。
b.%s 打印字符串
其实也是将字符数组里面存放的元素一个一个的打印,知道遇到\0结束
3.如何输入一个字符串

char name[10];
printf(“请输入一个字符串\n”);
scanf(“%s”,name);//不要取地址符,name本来就是一个地址
注意:如果输入一个空格,就默认结束了

4.如何计算字符串的长度
字符串的长度是遇到’\0’之前的所有的字符的个数和。
5.字符串常用的函数
这些都是在string.h这个头文件中
a).puts();输出一个字符串 自动换行 只能输出字符串,不能使用格式符号
b).gets();接受用户输入一个字符串,遇到空格不会看成是结束
c).scanf()函数 和get()函数,都是不安全的,因为如果保存字符串的字符数组长度小于输入的字符串的长度,就保存不下,就没有地方保存’\0’。
d).strcmp();比较两个字符串(比较字符串的ASCII码),返回一个整数,如果返回的是一个正数,则说明第一个比第二个大,如果返回的是一个0,相等
e).strlen();计算字符串的长度。返回的是unsigned long类型
f).stcpy();拷贝 把第二个字符串拷贝到第一个里面去,’\0’也要拷进去,第一个保存数组的长度要保存的下第二个字符串。
g).strcat();链接字符串,把两个字符串链接成一个新的字符串存放到第一个数组里面去,第一个数组的长度要能够存放的下这个新的字符串

那么我们若不用strlen()计算字符串的长度,我们还可以自己写函数来进行计算。

char name[] = “love”;
int count = 0;
while(1)
{
    if(name[count] != ‘\0')
    {
        count ++;
    }else
    {
        break;
    }
}
printf(“%d\n”,count);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值