c语言入门-5-字符串

  • 正文
    • 1、字符串怎么用
      • 方式一
      • 方式二
    • 2、字符串的长度
  • 深度解析
    • 1 字符串的特性
    • 2 ==\0== 的含义
    • 3 ascii码表
  • 下一篇

正文

1、字符串怎么用

方式一

// 字符串的标准使用方式,用char类型的数组表示字符串
#include<stdio.h>
int main() {char arr[] = "abc";printf("%s",arr);return 1;
}

结果显示

方式二

// 直接用char类型的数组表示字符串
// 缺点,这个数组的结尾必须要用 ‘0’ 来结尾,否二就会报错,手写容易遗忘
#include<stdio.h>
int main() {char arr[] = {'a','b','c',0};printf("%s", arr);return 1;
}

结果显示

如果不以0结尾

// 直接用char类型的数组表示字符串
// 缺点,这个数组的结尾必须要用0来结尾,否二就会报错,手写容易遗忘
#include<stdio.h>
int main() {char arr[] = {'a','b','c'};printf("%s", arr);return 1;
}

来看看执行结果(打印的结果会出现中文乱码,因为printf(“%s”, arr); 这个函数中你指定的是 %s,是一个字符串,所以打印的时候系统会寻找字符串结尾的 0 ,当找不到0符号的时候,就会出现以下异常情况)

2、字符串的长度

#include<stdio.h>
int main() {char arr1[] = "abc";char arr2[] = {'a','b','c','\0'};char arr3[] = { 'a','b','c',0 };printf("%d\n", strlen(arr1));// strlen 语言内部函数,用于求字符串的长度printf("%d\n", strlen(arr2));printf("%d\n", strlen(arr3));return 1;
}

显示结果

当去掉数组末尾的 0 或者 \0 的时候

#include<stdio.h>
int main() {char arr1[] = "abc";char arr2[] = {'a','b','c'};printf("%d\n", strlen(arr1));// strlen 语言内部函数,用于求字符串的长度printf("%d\n", strlen(arr2));return 1;
}

显示结果(会发现没有用 0 或者 \0 结尾的char数组,计算长度的时候会出现一个随机数,根据个人电脑的配置不同会出现不同的数字)

深度解析

1 字符串的特性

字符串的结束标志是一个 \0的转义字符,在计算字符串长度的时候 \0是结束标志,不算做字符串内容

2 \0 的含义

1,\0 的ASCII码为“0” ,也就是空字符
2,\0 是字符串的结束符,任何双引号引起来的字符串之后都会自动加上’\0’

3 ascii码表

下一篇

上一篇 ----> c语言入门-4-常量
下一篇 ----> c语言入门-6-转义字符

c语言入门-5-字符串相关推荐

  1. python语言入门n-python语言入门之字符串的一些用法

    本篇教程探讨了python语言入门之字符串的一些用法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 一.字符串的拼接: a="123' b="ab ...

  2. c语言int转字符串_C语言零基础入门-指针-05

    C语言零基础入门-指针-05 本节要点: 1,字符指针. 2,字符串指针. 3,指针的参数传递 4,多重指针 01. 字符指针 这里的定义与前面的基本一样,所谓的字符指针就是这个指针指向的是一个字符型 ...

  3. 明解C语言入门篇_第9章_字符串的基本知识

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  4. c语言 字符串 枚举类型,C语言入门 — 枚举类型

    1.C语言入门 - 枚举类型,枚举类型的关键字是enum, enum是用来定义一组整型数值,其实定义模型如下: enum { 常数名称1 = 0, //起始值取0,这里的值可以为0,正数,负数. 常数 ...

  5. 《数据科学中的R语言》之字符串处理入门

    原文地址:http://r4ds.had.co.nz/strings.html 作者:Hadley Wickham 介绍 1 前提条件 字符串基本操作 1 字符串长度 2 合并字符串 3 分割字符串 ...

  6. 写一篇C语言入门第一讲

     嗨~大家好~  我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议.(P ...

  7. C#forUnity快速入门(连载2)-C#语言入门

     C# for Unity 编程语言快速入门教程(连载2)---C#语言入门 接上篇内容,我们把更多的C#语言入门级编程习题发布如下,希望能够对C#编程小白提高技能有帮助. 三:  学习循环语句(续) ...

  8. python终结一个循环额_Python语言入门之内存管理方式和垃圾回收算法解析

    本文主要向大家介绍了Python语言入门之内存管理方式和垃圾回收算法解析,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在列表,元组,实例,类,字典和函数中存在循环引用问题.有 ...

  9. python语言入门m-「数据挖掘入门系列」Python快速入门

    Python环境搭建 本次入门系列将使用Python作为开发语言.要使用Python语言,我们先来搭建Python开发平台.我们将基于Python 2.7版本.以及Python的开发发行版本Anaco ...

  10. python语言入门pdf-python语言入门

    python语言入门高清版是一本对python入门初学者的一本参考学习图书,该书详细的概述了Python语言的基本特点,讲解透彻好懂,有需要的来下载吧! 一款很不错的Python初学者使用书籍 pyt ...

最新文章

  1. TensorFlow实战Google深度学习框架5-7章学习笔记
  2. 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家
  3. 设计模式之观察者模式在Listview中的应用
  4. 使用create-react-app创建应用并执行npm start时出现events.js:183 throw er的解决方法
  5. 插入的数据不能时时查询到_漫谈 LevelDB 数据结构(一):跳表(Skip List)
  6. Spark SQL 从入门到精通 - Spark SQL 行转列、列转行案例
  7. oracle 数据库练习题及答案
  8. 计算机专业在医院的工作,探析计算机在医院工作的应用
  9. 报名啦!第四届滴滴-IEEE未来精英论坛今夏来袭
  10. 手机任务栏html,任务栏是什么
  11. 微信小程序 收起键盘 wx.hideKeyboard()
  12. 学拳录 23退步压肘
  13. 【opencv4.3.0教程】06之基础结构3之Scalar_结构详解
  14. 【宏基因组学】微生物宏基因组学论文摘要集锦
  15. ASO排名优化、投放思路分析总结,aso投放策略
  16. 美剧中的英文粗语脏话知多少?
  17. 小程序的老祖宗PWA为什么没有火起来?
  18. Windows server 2008R2更新补丁后进入系统恢复
  19. 考研基础线性代数笔记
  20. unity塔防游戏怪物转向_萌宠打怪物手游下载-萌宠打怪物官方版下载

热门文章

  1. JAVA实验,求柱体面积
  2. 98.网络安全渗透测试—[常规漏洞挖掘与利用篇14]—[SESSION身份验证绕过漏洞与测试]
  3. 基于51单片机步进电机控速正反转proteus仿真
  4. Oracle函数——比较函数
  5. 【数据挖掘】频繁模式挖掘及Python实现
  6. 时间序列分析中的 statsmodels.tsa.arima_model被抛弃了,如何解决?
  7. 统一信息管理平台服务器,4A统一安全管控平台
  8. 在vscode里配置ESLint和Prettier
  9. python菜鸟教程python机器学习工具库
  10. Client引入Eureka报Completed shut down of DiscoveryClient问题原因及解决方式