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.0
和5.0%2
结果是语法错误;
此题一开始用%
老是报error
,查无所获
查了网上ac
的答案,但出现了上述注释里的困惑
寻求多个小伙伴帮助,并在VS
2012里稍加调试,终于脑子灵光一闪
cm/N
本身运算结果是double
由于foot
被定义为int
型,故在赋值运算中,foot
是cm/N
强转为int
的值
故 cm/N-foot
就是cm
对N
原文:https://www.cnblogs.com/luuuw/p/12249057.html