在鱼C论坛课后习题遇到了下面这段代码,简记下对其中while(*target++ != ‘\0’) 的理解

#include <stdio.h>#define MAX 1024int main()
{char str[MAX];char *target = str;int length = 0;printf("请输入一个字符串:");//实现读取键盘中的输入并赋入str中:fgets(str, MAX, stdin);while (*target++ != '\0'){length++;}printf("您总共输入了 %d 个字符!\n", length - 1);return 0;
}

程序想实现strlen函数的功能

故 while(*target++ != ‘\0’) 需要实现的功能为:
判断读入的是否为结束符’\0’,若不是,计数变量length++并读取下一个字符

  1. 你们可能对 target++ != ‘\0’ 这一行代码有疑问,这里我给大家解释下。首先在“运算符的优先级和结合性”(http://bbs.fishc.com/thread-67664-1-1.html)可以查到自增运算符(++)的优先级比取值运算符()要高,所以 *target++ 相当于 *(target++),先执行自增运算符,再取值。但由于这是一个后缀的自增运算符,所以自增的效果要在下一条语句才会生效,因此这里取出来的依然是 target 地址自增前指向的数组元素的值

但特殊的是:
后缀运算符特性:效果要在下一条语句才能生效

所以执行顺序可理解为:
while(*target != 0)
(target++)
循环体

(但是后缀运算符++的优先级是高于取值运算符 * 的!!)

杂记(二):while(*target++)(位于小甲鱼C语言视频第22课)相关推荐

  1. 跟着小甲鱼学python怎么样_跟着小甲鱼的python视频学习,小白能够接受吗?

    查看: 3709|回复: 14 跟着小甲鱼的python视频学习,小白能够接受吗? 电梯直达 发表于 2018-4-29 16:57:27 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好 ...

  2. 小甲鱼数据结构教学视频(百度网盘)

    这是小甲鱼数据结构教学视频(免费的哦) 直接搜索这个地址,然后保存百度网盘.下载后,就可以免费听课 http://pan.baidu.com/s/1eS9wsgi

  3. 小甲鱼python全部视频_小甲鱼全套教程之Python系列视频教程

    Python 当前位置:主页 > 编程教程 > Python > 小甲鱼全套教程之Python系列视频教程 小甲鱼全套教程之Python系列视频教程 教程大小:   发布时间:201 ...

  4. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  5. 小甲鱼python教程视频怎么样-小甲鱼零基础入门学习Python视频教程全套96集

    资源介绍 教程名称: 小甲鱼零基础入门学习Python视频教程全套96集 课程简介: xa0 xa0 Python具有跨平台特点,Python可以在各种不同类型的计算机上运行,Windows.MAC. ...

  6. 小甲鱼c++学习视频之运算符重载

    一.学习要点: 1.将分数定义为一个类,简化处理过程,面向对象的思维,不仅有数据,还可以对一个分数进行操作,比如约分操作,加减乘除操作. 2.类的私有成员只能通过成员函数进行访问. 3.分数的约分过程 ...

  7. 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力

    编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...

  8. 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)

    目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...

  9. 【小甲鱼C语言】课后笔记第一章第九节——if语句

    目录 1. 分支结构的作用就是将 C 语言的代码引入歧途 2.switch语句和分支嵌套 1. switch 语句 2. 使用 break 语句跳出 3. 分支结构的嵌套 2. 使用 break 语句 ...

最新文章

  1. 七牛云存储:通过SDK上传图片
  2. Gearman 异步处理委派任务
  3. spring和spring_Spring交易可见性
  4. 鸿蒙os芯片,没有了芯片,华为能靠鸿蒙OS系统打出差异化吗?
  5. Python 获取(字典)字符串时间区间并转换类型,判断该时间段属否在时间范围
  6. 将samba加入到windows域《转载》
  7. Android 系统(55)---Android App开发之ANR异常的原因分析及处理总结
  8. 聊聊lettuce的sentinel连接
  9. GDAL创建图像提示Driver xxx does not support XXX creation option的原因
  10. hadoop longwritable类
  11. 第 7 章 Neutron - 071 - 详解 ML2 Core Plugin(I)
  12. ArcGis 拓扑检查——狭长角锐角代码C#
  13. 一次完整的http请求过程是怎样的?
  14. python深度学习基于pytorch——arange、linspace 函数生成数组
  15. 下载安装Tomcat8.5.30
  16. 安卓各版本大变化(Android 6.0到10.0),兼容适配
  17. python re库 正则表达式
  18. 女生 男生 都该学会的潜规则
  19. 微信小程序开发案例2---省市区信息选择
  20. 优秀开源音乐项目---落雪音乐软件(免费听歌下载歌曲)

热门文章

  1. 1064 例题5-1-5 连续自然数求和
  2. mysql 中的1064_错误代码:mysql中的1064
  3. python第三章课后答案_XX医学院本科各专业《Python》第三章习题与答案-2020年实用精品...
  4. 短视频批量伪原创破解 苹果手机md5视频修改工具下载
  5. 26 欧拉积分疑惑解析
  6. oracle如何根据ID恢复部分数据,三种方法找回Oracle数据库误删除的数据
  7. JDBC插入数据后返回新数据id
  8. 栅格矩阵转换成邻接矩阵G2D函数
  9. 矩阵的三角分解法之LU分解之Doolittle分解
  10. Mob之短信验证集成SMSSDK