当前位置: 首页 > news >正文

未来中森网站建设咨询宣传型企业网站设计方案

未来中森网站建设咨询,宣传型企业网站设计方案,珠海教育局系统网站,做推广网站多少钱看这个题之前#xff0c;先来回忆一下strlen函数的工作机制#xff1a; strlen所作的仅仅是一个计数器的工作#xff0c;它从内存的某个位置#xff08;可以是字符串开头#xff0c;中间某个位置#xff0c;甚至是某个不确定的内存区域#xff09;开始扫描#xff0c;…看这个题之前先来回忆一下strlen函数的工作机制 strlen所作的仅仅是一个计数器的工作它从内存的某个位置可以是字符串开头中间某个位置甚至是某个不确定的内存区域开始扫描每碰到一个非’\0’的字符计数器的值加1直到碰到第一个字符串结束符’\0’为止然后返回计数器值(长度不包含’\0’)。 #include stdio.hint main() {char a[1000];int i;for(i0; i1000; i){a[i] -1-i;}printf(%d,strlen(a));return 0; } 第一眼看到题目是不是觉得太简单了一点有一种把1000脱口而出的欲望这么简单我会出给你想太多了吧 且不说这儿数组的类型是char就算它的类型是int程序就会输出1000想想上面对strlen的定义是怎么说的遇到’\0’才结束统计你能保证数组后面的空间第一个字符就存储的是’\0’吗不能吧因此不要轻易给出答案。 运行后输出的答案是这样的是不是有点讶异整个人突然懵了大大的问号突然充斥着你。 分析一下这个题其实无非也就以下几个考点 1、负数在内存中的存储方式 2、char型数据占空间大小 3、0其实就是’\0’ 4、strlen函数什么时候结束统计 负数在内存中是以其补码存储的那么问题又来了什么是补码正数的补码是其原码负数的补码是其原码取反加1连原码都不知道的可以去看看补补了。 因为a[i] -1 - i; 而-1 - i的值一定是负数本来也没什么但你要知道我们的数组元素是char型的那么它就只占一个字节即8个bit所以当-1 - i的值小到-129时a[i]里面存的值就不是我们想象的值了而当 -1 - i的值小到-256时a[i]里面存的值会吓你一跳。看看下面这张图 可以看见当i 255时a[i] 0而我们知道0其实就是’\0’因为’\0’的ASCII是0而strlen函数是遇到’\0’停止统计的且不统计’\0’也就是说它只统计a[255]前面的元素个数而我们知道数组下标是从0开始的所以a[255]前面的元素个数为255个那么输出为255就很好解释了。 这个题仔细分析其实很简单但是一不小心就上当了因此我们在看待问题是一定要考虑全面不要轻易下结论。
http://www.huolong8.cn/news/422018/

相关文章:

  • 中小学做课题研究的网站万网云服务器网站上线
  • 肇庆网站快速排名提升提供网站建设备案公司
  • 如何打开建设网站后台百度收录网址
  • 丹阳火车站对面规划海南省建设工程质量监督网站
  • 菏泽做公司简介网站人工智能建筑设计软件
  • 深圳网站建设saote深圳福田网站建设
  • 什么网站可以做外单网站的开发与建设
  • ui设计素材网站有哪些深圳牌匾制作
  • 网站建设话语建站之星网站模板
  • 网站推广昔年下拉博客17网站一起做网店下载
  • 网站技术防护建设重庆药师网
  • 做视频网站需要哪些证从零开始学Wordpress建站
  • wordpress f5昆明seo技术培训
  • 网站改版怎么办html5 公众号 网站开发
  • 莆田网站建设五维网络有限公司设计公司取名字大全集
  • 如何申请免费网站域名养生网站策划
  • 学校网站开发必要性与意义四川省采购一体化平台
  • 邵阳建设网站的公司百度网盘app下载
  • 沈阳网站设计公司常州市金坛区网站建设
  • C#如何做简易网站哪里专业做网站
  • 旅游网站规划建设方案百度搜索排名怎么做
  • 建设企业网站的公司图案logo设计
  • asp免费网站模板专做项目报告的网站
  • 行业网站定位新媒体运营好做吗
  • 全国建设网站图片小程序生成器
  • 2018做网站前景如何高清素材网站无水印
  • 做技术分享网站 盈利网站如何提交关键词
  • 安徽建设厅网站官网网站开发的需求文档模板
  • wordpress 直接拖拽式建站赣州信息港人才频道
  • 网站上面的水印怎么做沈阳设计网站公司网站