首页 > 其他 > 详细

/和%的一些注意事项

时间:2020-02-01 17:34:27      阅读:69      评论:0      收藏:0      [点我收藏+]

2020-02-01

除法运算符和取余运算符注意事项

 1 #include <stdio.h>
 2 #define N 30.48
 3 #define M 12
 4 ?
 5 int main()
 6 {
 7     int cm=0;
 8     int foot;
 9     int inch;
10     scanf("%d", &cm);
11     foot = cm/N;
12     inch = (cm/N-foot)*M;//为什么这里(cm/N-foot)!=0 ??  QAQ
13     printf("%d %d", foot ,inch);
14     return 0;
15 }

 

已解决

除法运算符“/” ,二元运算符,具有左结合性;

参与运算的量均为整型------> 结果为整型;

10/4==2.0, 10/4.0==2.5

若运算量中有一个为实型----->结果为双精度实型;

求余运算符"%" ,二元运算符,具有左结合性;

参与运算的量均为整型;

求余结果等于两个数相除后的余数;

——5%2.05.0%2 结果是语法错误;

  1. 此题一开始用% 老是报error,查无所获

  2. 查了网上ac的答案,但出现了上述注释里的困惑

  3. 寻求多个小伙伴帮助,并在VS2012里稍加调试,终于脑子灵光一闪

    • cm/N 本身运算结果是double

    • 由于foot 被定义为int 型,故在赋值运算中,footcm/N 强转为int 的值

    • cm/N-foot 就是cmN 取余的结果

/和%的一些注意事项

原文:https://www.cnblogs.com/luuuw/p/12249057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!