李洪强-C语言2-字符串

C语言字符串

一、字符串基础

注意:字符串一定以\0结尾。

Printf(“yang\n”);

其中yang为字符串常量,“yang”=‘y’+‘a’+‘n’+‘g’+‘\0’。字符串由很多的字符组成,通常使用字符数组来存储字符串,如char name[10]=“yang”;也可以以printf(name);的形式输出,即通过数组来访问字符串,但会有警告。因为默认情况下,printf函数只接受字符串常量作为参数(对变量并未写明)。

字符串的三种写法:

  1. Char name[8]=“yang”;//数组占用了8个字节的存储空间,但是只含有5个字符。
  2. Char name[8]={‘y’+‘a’+‘n’+‘g’+‘\o’};
  3. Char name[8]={‘y’+‘a’+‘n’+‘g’+‘0’};

这三种写法在内存中的表现都是一样的。

 

Char name[]={‘y’+‘a’};前面不写个数,不是一个字符串,只能说是一个普通的字符数组。

char name[]=“yang”;

Name[1]=‘o’;把字符串的第二个元素值由a改成o。

 

二、字符串使用注意点

(1)分析代码,了解\0的作用。

Char name[]=“yang”;

Char name2[]={‘o’+‘k’};

Printf(“name2=%s”,name2);

%s:根据右边的参数,打印字符串(遇到\0为止)

上面代码的打印结果为:okyang

下面是内存情况分析:

 

问1:Char name[]=“y\0ng”;则打印结果为什么?(oky)

问2:此时打印name的值,使用%s是多少?Y\0ng还是y?

(2)Strlen函数

Strlen函数计算字符串的长度(字符数)但不包括\0,是字符数不是字数。比如一个汉字占三个字符。

Strlen(“haha”);//长度为4

Strlen(“哈haha”);//长度为7而不是5

char name[]=“it\0cast”;

Strlen(name);值为2,因为strlen从字符串的地址开始计算,直到遇到\0为止。

假设

Char name[]=“itcast”;

Char name2[]={‘o’+‘k’};

Int size=strlen(name);

此时size的值为8。

(3)练习,编写一个函数char_contains(char str[],char c),如果字符串中包含字符c,则返回1,否则返回0。

Int char_contains(char str[],char c)

{

//遍历整个字符串

For(int i=0,i<strlen(str);i++)

{

If(str[i]==c)

Return 1;

}

Return 0;

}

 

//调用语句

Int result=char_contains(“yang”,‘a’);

//使用while循环

①. While(i<strlen(str))

②. While(str[i]!=‘\0’)

③. While(str[i])

④. Int i=-1;while(str[i++])

 

三、字符串数组

二维字符数组,存储两个字符串数组,每个的长度为1,下面是两种写法但存储情况是一样的。

Char name[2][10]={“jack”,“rose”};

Char name2[2][10]={

{‘j’+‘a’+‘c’+‘k’+‘\0’},

{‘r’+‘o’+‘s’+‘e’+‘\0’}

}

把rose输出:printf(“%s”,name2[1]);

输出k:printf(“%c”,name2[0][3]);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【练习5.9】图像掩码、礼帽、cvCopy、图像融合、cvCvtColor

提纲题目要求程序代码结果图片要言妙道题目要求&#xff1a; 读入一副风景图&#xff0c;然后将其转化为灰度图像 a、对图像进行形态学“礼帽”操作&#xff0c;并显示结果 b、将结果图像转化为8位的掩码 c、复制灰度值到礼帽块中&#xff0c;显示结果→我的理解是&#xff0c;…

div超出不换行_文字超出显示点点点之ellipsis 设置

一般情况下一行文字在一定区域显示的话如果不限定高度&#xff0c;那么在内容超过的宽度的话就会换行显示&#xff0c;为了页面的美观&#xff0c;目前的通用做法就是在最后显示…&#xff0c;然后鼠标悬浮显示完整内容&#xff0c;具体设置如下:height: 40px; overflor: hidde…

Kali源库配置和拼音安装

2019独角兽企业重金招聘Python工程师标准>>> 版本&#xff1a;kali-linux-2016.1-i386 0、对kali进行系统更新或者软件安装&#xff0c;直接通过国内网络访问境外主网网络不稳定&#xff0c;不如改成国内资源站点。 1、修改以下文档 vim /etc/apt/sources.list 2、文…

java中审核订单流程图_Java 后端横扫阿里、滴滴、美团总结的面试经验!

这次面试的公司有一点点多&#xff0c;主要是因为毕业后前两份工作找的都很草率&#xff0c;这次换工作就想着&#xff0c;emm&#xff0c;毕业三年了&#xff0c;该找个工作好好沉淀几年了。先说下这次面试的结果吧&#xff1a;到 hr 面的&#xff1a;阿里、美团、滴滴、金山云…

产品铭牌要求_AMPULM:电力变压器铭牌有哪些主要技术参数,你都知道吗?

电力变压器电力变压器是供配电系统中关键的一个环节&#xff0c; 它起到电力系统中电压等级的变换&#xff0c;同时连接不同电压等级的电网&#xff0c;以利于电能的输送、分配和使用。认识变压器铭牌图片为一台电力变压器上的铭牌&#xff0c;从铭牌上可以看到变压器的哪些信息…

python 学习资源收集汇总

2019独角兽企业重金招聘Python工程师标准>>> Python是一种面向对象、直译式计算机程序设计语言。它的语法简捷和清晰&#xff0c;尽量使用无异义的英语单词&#xff0c;与其它大多数程序设计语言使用大括号不一样&#xff0c;它使用縮进来定义语句块。与Scheme、Rub…

一年月份大小月口诀_怎么看自己的日柱 公式 推算口诀 最简便计算方法

日柱指的是我们农历干支出生的那一天&#xff0c;通过日柱我们可以看出自己命运的轨迹和走向&#xff0c;从风水学上来讲日柱是八字算命中举足轻重的一部分&#xff0c;那么如何知道自己的日柱呢&#xff1f;通过本期的四柱预测&#xff0c;给大家介绍一种最简便的推算口诀和日…

delphi excel取批注所在的行列_35个Excel使用技巧

技巧1、单元格内强制换行在单元格中某个字符后按alt回车键&#xff0c;即可强制把光标换到下一行中。技巧2、锁定标题行选取第2行&#xff0c;视图 - 冻结窗格 - 冻结首行(或选取第2行 - 冻结窗格)冻结后再向下翻看时标题行始终显示在最上面。技巧3、打印标题行如果想在打印时每…

如何接收串口数据_UART IDLE 中断使用接收不定长串口数据

前言在串口通信应用中&#xff0c;我们常使用接受和发送中断&#xff0c;相信大家都不陌生。这里有个非常有用的中断可能被大家所忽略&#xff0c;即总线IDLE中断。当一帧数据传输结束之后&#xff0c;总线会维持高电平状态&#xff0c;此时&#xff0c;就可以触发MCU的IDLE中断…

MFC 进度条CProgressCtrl

2019独角兽企业重金招聘Python工程师标准>>> SetStep(1);//设置步长 SetRange32(0, total);//设置范围 SetPos(_cur);//设置当前 进度 StepIt();进步一次 转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/688392

css限制字体三行_讲道理,仅3行核心css代码的rate评分组件,我被自己秀到头皮发麻...

(给100素材网点亮★号&#xff0c;提升开发技能)像rate评分组件一般都用javascript写&#xff0c;所以这次将是一个全新的尝试&#xff0c;用css实现一个rate评分 ❗ 核心代码也就三行?01效果图02原理主要是借助radio单选框&#xff0c;梳理如下&#xff1a;去找个好看的iconf…

matlab GUI之自定义菜单小结

自定义菜单 1.uimenu对象 huimenu(PropertyName,ProperValue) huimenu(parent,PropertyName,ProperValue) 常见属性&#xff1a; 1.1标签 label uimenu(label,&Open) 1.2快捷键 Accelerator uimenu(Accelerator,E) 快捷键位 ctrlE 注意以下三个是系统保留的Accelerator…

把cpp编译为so_基于VSCode和CMake进行C/C++开发第三讲GCC编译器

3.0 本讲目录本系列视频&#xff0c;B站首发&#xff0c;up主: xiaobing1016前言&#xff1a;GCC 编译器支持编译 Go、Objective-C&#xff0c;Objective-C &#xff0c;Fortran&#xff0c;Ada&#xff0c;D 和 BRIG(HSAIL)等程序&#xff1b;Linux 开发C/C 一定要熟悉 GCCVS…

CSS快速入门-箭头和图标

一、三步搞懂箭头产生的原理 在前面的盒子模型一文中&#xff0c;我们已经知道了一个元素空间占位。为了弄明白箭头的产生&#xff0c;我们可以三步走&#xff1a; #demo12 {border: 100px solid;border-color:green blue orange red;width:100px;height:100px;}<div id&quo…

自动清理归档日志_从MYSQL 数据库归档 到 归档设计

到数据归档&#xff0c;很多人的第一个概念就是&#xff0c;不就是无用的数据&#xff0c;换个地方放吗&#xff0c;直接拷贝&#xff0c;删除不就得了&#xff0c;有那么麻烦。我见到过的&#xff0c;听到过的数据库归档的方法有以下几种1 数据通过人工的手段来进行清理&…

Android支付宝SDK开发笔记

一、准备工作 〉1、下载开发包 https://b.alipay.com/order/productDetail.htm?productId2014110308141993&tabId4#ps-tabinfo-hash 压缩包下的“支付宝钱包支付接口开发包”中即有Andoid使用支付宝的JAR和Demo 〉2、创建支付宝应用 在支付宝开放平台申请创建应用 https:/…

一天一个类,一点也不累之HashSet

最近忙着一个小项目结题&#xff0c;故没能按时完成【一天一个类&#xff0c;一点也不累】&#xff0c;还好项目优秀&#xff0c;算是对自己一点点的安慰和鼓励。~~~ 今天要说的是HashSet 既然是继承自Set&#xff0c;那么就必须有Set的一些属性&#xff0c;比如不能容许有相同…

[BZOJ1502]月下柠檬树(自适应辛普森积分)

1502: [NOI2005]月下柠檬树 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1387 Solved: 739[Submit][Status][Discuss]Description 李哲非常非常喜欢柠檬树&#xff0c;特别是在静静的夜晚&#xff0c;当天空中有一弯明月温柔地照亮地面上的景物时&#xff0c;他必会悠闲地…

擎天出口退税软件_新版申报系统退税申报注意事项

前言&#xff1a;随着税务信息化建设“后金三”时代的不断深入,2019年年底国家税务总局启动出口退税管理系统整合(进入金税三期)项目&#xff0c;经过广东、大连两个地区试点&#xff0c;即将于今年年底前在全国完成金税三期审核系统的上线工作&#xff0c;至此&#xff0c;出口…

pcie 的function_PCIe扫盲——BDF与配置空间

前面的文章中介绍过&#xff0c;每一个PCIe设备可以只有一个功能(Function)&#xff0c;即Fun0。也可以拥有最多8个功能&#xff0c;即多功能设备(Multi-Fun)。不管这个PCIe设备拥有多少个功能&#xff0c;其每一个功能都有一个唯一独立的配置空间(Configuration Space)与之对应…