永发信息网

%运算符的问题

答案:3  悬赏:0  手机版
解决时间 2021-04-10 17:25
  • 提问者网友:感性作祟
  • 2021-04-10 13:31
你好,我想问一下你%运算符:
x%100/10 为什么表示的是X的十位呢?

按我的理解,比如X为27.那么27%100是27/100的余数。可为什么27%100/10为 2呢??

我刚开始学C,所有弄不明白,麻烦你告诉我下,好吗?谢谢!
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-04-10 14:26
27和10取余的结果是27,而27/10为2.7,但/运算符是整型数据的运算,因此结果会强制转换成整型,0.7就被丢掉了,则结果为2
全部回答
  • 1楼网友:春色三分
  • 2021-04-10 15:20

27 % 100 得到的结果是27 这个你理解的没错. 27/100的余数,就是27;

然后用 / 10 就是 27 / 10 = 2 嘛..

  • 2楼网友:猎心人
  • 2021-04-10 14:59

因为 % 和 / 优先级同等, 所以是顺序执行

先执行 27 % 100, 商0余27, 所以结果就是27

再用结果27/10, 结果是2.7

因为 % 只能用于整数, 所以默认的 27%100的结果就是整型,

而除以10以后结果是2.7, C语言会强制和前面的取余%运算的类型进行统一

会强制把2.7转为整型, 也就是自动截取整数部分

结果就是2

不妨这样试试

#include <stdio.h> void main() { printf("%d\n", 27%100); printf("%d\n", 27%100/10); getchar(); }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯