c语言字符串基本概念(易错!!)
admin
2024-03-25 15:19:01
0

问题0:字符串如何定义?

答:  在定义时赋值有三种方式。  也可以直接定义char s[5];不赋值

char s[5]=”SYSU”;  

char s[5]={‘S’,’Y’,’S’,’U’};  

char s[]=”SYSU”;

Tips: 1. 只有在定义时才能整体赋值一个字符串,后面只能逐位赋值。

比如 char s[5];  s[5]=”SYSU”; 不行。 后面想赋值必须要s[0]=’S’; s[1]=’Y’; ……这样了

  1. char s[]这种不写明空间长度的字符串,在定义时必须有赋值,否则编译错误。且它定义的空间长度就是它被赋值的字符串长度。

问题1:什么时候字符串末尾会自动添加结束符’\0’什么时候不会?

答:

如果你直接输入,或者用char s[5]=”SYSU”这种方式来定义,就会被在最后自动添加结束符。

如果你一位一位去依次赋值,或者定义时这样写:char s[5]={‘S’,’Y’,’S’,’U’},就不会自动在最末尾添加结束符。

Tips:结束符也占空间,所以如果定义char s[4]=”SYSU”会出错,因为自动添加的结束符没地方存了。

问题2:结束符有什么好处?

答:

只有包含结束符的字符串才能用各种字符串函数、以及直接进行整体的输出。

比如有了结束符才能直接printf(“%s”,str); 不然只能用循环挨个输出每一位。

实际操作中很多时候我们是一位一位去赋值字符串的,这是末尾不会自动添加结束符,我们最好手动添加一下。比如已知最后一位是n,我们就str[n+1]=’\0’;手动添加了结束符。

问题3:字符串长度怎么计算?

答:

两种方法。

  1. strlen()函数,它会计算从开头到第一个’\0’为止的长度,长度不包含’\0’。(所以前面说有结束符的作用)  (!!用任何字符串相关的函数记得要开头文件string.h)
  2. sizeof(str)/sizeof(str[0]);(一般不使用,可能在理论题中出现)

   它计算的是你定义的总长度大小。

   比如char s[10]=”SYSU”经过它计算就是10。

   char s[]=”SYSU”经过它计算是5。([]没规定位数,由右值决定定义几位。包括了结束符)

问题4:怎么读入中间包含空格的字符串?

答:

scanf读入字符串是遇到空格或换行就停止读入。

  可以选择用gets()读入,它会读入一整行字符串无论中间是否有空格。

问题5:怎么判断两个字符串是否相等?

答:

不能直接s1==s2判断。

可以循环逐位判断,也可以用strcmp()函数判断。

strcmp(s1,s2) 如果两者相等则返回0

相关内容

热门资讯

国民性创新,越来越阳春白雪 问一个问题,最近两年爆火的创新,从生成式AI到人形机器人,到底是离大众越来越近,还是离大众越来越远?...
男子被显示欠银行1000万亿索... 男子被显示欠银行1000万亿索赔200万遭拒,银行仅愿赔偿3万元
研究显示美国散户投资者推动杠杆... 来源:环球市场播报 Direxion公司联合Vanda Research与The Compound ...
高瓴、李录、巴菲特最新持仓披露... 最近,随着美股13F文件的披露,多家私募机构2025Q4最新调仓情况浮出水面。之前的文章,证星研究院...
原创 老... 四十年代的北京珠市口路口,正处于从民国向新中国过渡的时期,它既保留着清末民初形成的鲜明社会分层特征,...
原创 相... 在金融圈,流行一个词叫“估值修复”。意思是股价跌狠了,总会涨回来。 但阿睿发现,自己在相亲市场的估值...
上海楼市重磅新政,非沪籍大松绑... wumiancaijing.com / 最热的泛财经新闻,都在这儿了。 重要提醒!!!为防失联,请“...
春节白酒消费:高端产品热度升高... 来源:新京报 春节是酒水消费传统旺季,马年春节期间,白酒动销稳健复苏。多家机构调研发现,白酒消费呈现...
黄金暴涨的秘密找到了!不是散户... 过去两年,黄金市场最容易被忽视的一条主线,并不是价格本身的起伏,而是一个更为深层的结构性变化——全球...
刘强东投资50亿进军游艇产业,... 极目新闻记者 陈红 刘强东近日创立了独立游艇品牌Sea Expandary,进入游艇产业,计划从研...
韩国驻美大使:密切关注美方新关... 据韩联社报道,韩国驻美国大使康京和2月24日就美国总统特朗普在联邦最高法院裁定“对等关税”违法后宣布...
现货黄金刚刚涨破5200美元关... 25日,现货黄金持续拉涨,盘中再次突破5200美元大关,涨超1.3%。 瑞银(UBS)分析师此前在...
【银行业展望系列】五篇大文章:... 当前银行息差持续承压、规模扩张的增长红利逐渐消退,已经陷入内卷式的同质化竞争。“规模为王”的旧模式将...
原创 一... 美国总统唐纳德·特朗普迅速恢复了之前被最高法院废除的关税政策,这一急转弯让本就面临成本激增压力的美国...
收盘:上证指数、深证成指涨1.... 上证指数(000001)涨0.72%,深证成指(399001)涨1.29%,创业板指(399006)...
蔡宏波、毛健:美国贸易逆差“转... 近年来,美国政府反复将“贸易失衡”描述为事关国家安全的核心问题。从政策实践看,自2018年以来,美国...
五粮液集团入股四川三江汇海融资... 天眼查显示,近日,四川三江汇海融资租赁有限公司发生工商变更,新增四川省宜宾五粮液集团有限公司为股东,...
A股高开高走:周期股延续强势,... A股三大股指2月25日集体高开。早盘震荡走高,午后震荡回落,全天呈现高位震荡走势。 从盘面上看,周期...