求模运算符 % modulus operator
只用于整数。
结果是左侧整数除以右侧整数的余数 remainder
#include<stdio.h>
int main(void)
{
int a = 8;
int b = 3;
printf("8 %% 3 = %d\n", a % b);
return 0;
}
结果:
8 % 3 = 2
求模运算符常用于控制程序流。
程序示例:文章来源:https://www.toymoban.com/news/detail-641714.html
// 输入秒数,将其转换为分钟数和秒数
#include<stdio.h>
#define SEC_PER_HOUR 60
int main(void)
{
printf("Enter the seconds (Enter q to quit): ");
int seconds = 0;
int min = 0;
while (scanf("%d", &seconds) == 1)
{
min = seconds / SEC_PER_HOUR;
seconds = seconds % SEC_PER_HOUR;
printf("minutes = %d, seconds = %d.\n", min, seconds);
printf("Enter the seconds (Enter q to quit): ");
}
return 0;
}
结果:
Enter the seconds (Enter q to quit): 121
minutes = 2, seconds = 1.
Enter the seconds (Enter q to quit): 23
minutes = 0, seconds = 23.
Enter the seconds (Enter q to quit): q
负整数求模
自从 C99 规定负整数除法是趋零截断后,负整数求模也只有一种结果。
负整数求模的结果的正负和第一个整数相同。
程序示例:
#include<stdio.h>
int main(void)
{
printf("-11 %% 5 = %d\n", (- 11) % 5);
printf("-11 %% -5 = %d\n", (-11) % -5);
printf("11 %% -5 = %d\n", 11 % -5);
printf("11 %% 5 = %d\n", 11 % 5);
return 0;
}
结果:文章来源地址https://www.toymoban.com/news/detail-641714.html
-11 % 5 = -1
-11 % -5 = -1
11 % -5 = 1
11 % 5 = 1
到了这里,关于C 语言的求模运算符 %的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!