/和%的一些注意事项
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的答案,但出现了上述注释里的困惑 -
寻求多个小伙伴帮助,并在
VS2012里稍加调试,终于脑子灵光一闪-
cm/N本身运算结果是double -
由于
foot被定义为int型,故在赋值运算中,foot是cm/N强转为int的值 -
故
cm/N-foot就是cm对N
-
浙公网安备 33010602011771号