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

相关内容

热门资讯

飞天茅台,又涨了100块,陈华... 作者:王一行 不到四个月,飞天茅台又涨价了。 加上3月31日那次涨价,今年飞天茅台的出厂价和零售价累...
银行理财收益缩水,机构集体喊话... 【大河财立方 记者 吴海舒 杨萨】“我自己买股票都没它能亏”,某社交平台上,一位网友晒出了自己购买的...
蒙商银行行长牛冠荣拟任内蒙古自... 蒙商银行行长牛冠荣拟任内蒙古自治区党委管理领导班子企业正职 人民财讯7月25日电,内蒙古自治区党委组...
首发经济破局 激活消费新动能 在昆明顺城购物中心,占地1800平方米的蜜雪冰城旗舰店人气爆棚,门口排满了前来打卡的消费者;蜡笔小新...
原创 谁... 坐在深圳南山的写字楼里往窗外看,无人机送外卖、机器人巡逻、满街的新能源车,很多外地人第一次来都会愣一...
“硬件创新基础设施”嘉立创今日... 7月24日,深圳嘉立创科技集团股份有限公司(以下简称“嘉立创”)正式启动网上网下发行申购,申购简称为...
深化产教融合 推进数智育人 哈... 7月23日,由阿里国际人工智能人才孵化中心(以下简称“阿里国际AITIC”)主办的“智启未来·数智赋...
陈春玉够“稳”,但魔法原子还“... 今年上半年,魔法原子获得了春晚的热度,但是也受到了人事和商业化的质疑。面对外界疑问,陈春玉依靠扎实的...
实物黄金和纸黄金的交易成本如何... 在黄金投资领域,实物黄金和纸黄金是较为常见的两种投资方式,而了解它们的交易成本计算方法对于投资者来说...
这些绩优股发布拟增持计划(附股... 7月以来,上市公司密集发布拟增持计划。与此同时,德明利、广钢气体、柯力传感等多家公司还发布了承诺不减...
特斯拉一周跌没18%,马斯克自... 马斯克这周不好过——特斯拉周五跌超2%,本周累跌近18%,创2022年以来最大单周跌幅;SpaceX...
原创 世... 文|江月白 编辑|江月白 近期中东局势再度掀起波澜,也门胡塞武装突然宣布封锁红海的曼德海峡,这一举...
农业农村部:乡村消费韧性持续凸... 本报记者 刘萌 7月24日,国新办举行新闻发布会介绍2026年上半年农业农村经济运行情况。农业农村部...
一杯鲜啤引爆夏夜狂欢 如东啤酒... 扬子晚报讯(记者 郭小川 通讯员 王军)如火的夏夜,怎能少了一杯清凉爽口的鲜啤?连日来,夜色中的如东...
原创 通... 时间定了,下周油价大涨!2026年汽柴油第10次上涨在即,时间将于7月31日24时准时调价,倒计时仅...
Waymo计划独立进入两地Ro... 7 月 25 日消息,据《金融时报》报道,Alphabet 旗下自动驾驶出租车企业 Waymo 在一...
日均狂赚2.39亿!宁德时代拿... 图片来源:图虫 7月24日晚,宁德时代(300750.SZ)披露2026年半年报,报告期内,公司实现...
长鑫科技下周一上市:合肥产投集... 长鑫科技下周一上市,大股东 合肥产投 都有哪些布局? 长鑫上市,合肥产投能赚多少? 作为长鑫科技发起...
ETF市场周报 | 市场回升趋... 市场回顾: 本周(2026年7月20日-7月24日),A股市场触底反弹,前4日整体走势强劲,周五略有...
美股开盘:指数涨跌不一 ,存储... 7月24日晚间,美股三大指数开盘后涨跌不一。截至发稿,标普500指数涨0.24%,道指涨0.32%,...