分类: C/C++
2008-03-20 18:39:20
来源: 作者:antigloss 等级:一般
发布于2006-03-04 21:38 被读2070次 【字体: 】 |
% 是模除运算符(Modulus Operator),用于求余数。% 的优先级与 * 及 / 相同,其结合律也是从左到右。% 只可用于对整数进行模除,不可用于浮点数。例如: 15 % 2 // 正确。余数为 1 如果 % 两边的操作数都为正数,则结果为正数或零;如果 % 两边的操作数都是负数,则结果为负数或零。C99 以前,并没有规定如果操作数中有一方为负数,模除的结果会是什么。C99 规定,如果 % 左边的操作数是正数,则模除的结果为正数或零;如果 % 左边的操作数是负数,则模除的结果为负数或零。例如: 15 % 2 // 余 1 标准规定,如果 a 和 b 都是整数,则 a % b 可以用公式 a - (a / b) * b 算出。例如: -15 % 2 == -15 - (-15 / 2) * 2 == -15 - (-7) * 2 == -1 最后,我们看一个小程序。 /* months_to_year.c -- 将用户输入的月数转换成年数和月数 */ #include <stdio.h> printf("Enter the number of months: "); years = months / months_per_year; /* 算出年数 */ printf("%d months is %d years, %d months.\n", months, years, months_left); return 0; 参考资料:C Primer 5th Edition 本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。 |