简介:本系列博客为C深度解剖系列内容,以某个点为中心进行相关详细拓展
适宜人群:已大体了解C语法同学
作者留言:本博客相关内容如需转载请注明出处,本人学疏才浅,难免存在些许错误,望留言指正
作者博客链接:睡觉待开机
下面是本节博客的大纲梳理:
引文:
其实C语言中取模号(取余号)有着一点小细节,可能大多数人并不知晓其中的细节。且听我一一道来。
首先,我想强调的是取余!=取模
C语言中的%号是取余号。
那什么是取余?什么是取模?
所谓取余,就是其商为0向取整,这样一个结果就是余数一定与被除数符号一致。
所谓取模,就是其商为-∞向取整,这样一个结果就是模数一定与除数符号一致。
可能上面说的有些抽象,下面通过实例来进行展示:
那我们验证一下C语言是取余还是取模?
int main() { int ret = -10 % 3; printf("%d\n", ret); if (ret == -1) printf("取余\n"); else if (ret == 2) printf("取模\n"); else printf("error\n"); return 0; }
那为什么我们大多情况下都可以认为取模等价于取余呢?
那是因为:
完。