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

数据在内存中的存储——练习4

题目:

int main()
{char a[1000];int i;for(i=0; i<1000; i++){a[i] = -1-i;}printf("%d",strlen(a));return 0;
}

思路分析:

已知条件:

  • 通过循环遍历,我们得到的结果是 -1、-2、-3、-4等等。这些是数组内部的存储的元素,但题目要求的是以%d形式打印出 strlen(a),a是一个char类型的数组。
  • strlen:是求字符串中,在\0之前的字符个数。 
  • \0在ASCII中的数值是0

将已知条件进行整合,我们可以直到该代码的意思:求出在遇见字符'0'之前的字符个数。

而这里需要的就是char的数据范围。

char的范围,详情:http://t.csdn.cn/6gfRy

根据char的范围 -128~127 我们得知非0的数是-1~-128以及1~127,总共255,又因为-128 减去1,根据二进制数位的加减1我们得到-128 减去1等于127

又可根据char的范围是一个循环的圆形原理(http://t.csdn.cn/v2H8p)得出计算结果。 

 

又因为题目是从-1开始进入循环的,所以是求从-1开始到0之间的数,一共是255个。 

http://www.lryc.cn/news/167711.html

相关文章:

  • Python 06 之面向对象基础
  • 去除pdf/word的水印艺术字
  • 【Linux】使用 Alist 实现阿里云盘4K播放
  • Gof23设计模式之状态模式
  • 如何免费下载RunWayML产生的视频文件
  • 9.14 C++作业
  • java关于文件记录篇章之文件夹创建篇
  • 显示器显示的画面突然偏红色如何解决
  • 【element-ui】 el-table 表格动态合并相同数据单元格最全教程,可指定列+自定义合并条件,附完整代码
  • 管理方法论:6. 正视团队冲突——化解危机,长治久安
  • 基于SpringBoot的一套强大后台管理系统
  • 音乐项目后台管理系统出现的问题
  • 数据结构——图(图的存储及基本操作)
  • 2023年项目管理工具使用趋势分析及预测
  • Vue3 实现一个无缝滚动组件(支持鼠标手动滚动)
  • 【IP数据报】IP地址和MAC地址的区别
  • 高并发笔记
  • eNSP网络学习
  • 广州xx策划公司MongoDB恢复-2023.09.09
  • golang --- module-aware 模式下 包引入
  • 从原理到实践 | Pytorch tensor 张量花式操作
  • 无涯教程-JavaScript - TRANSPOSE函数
  • Webserver项目解析
  • Spring Cloud 篇
  • vim,emacs,verilog-mode这几个到底是啥关系?
  • 解决npm run build 打包出现XXXX.js as it exceeds the max of 500KB.
  • Java 抖音小程序SDK
  • Vue.js的服务器端渲染(SSR):为什么和如何
  • Gin 打包vue或react项目输出文件到程序二进制文件
  • 深度解析shell脚本的命令的原理之pwd