我是C新手并且使用模数

时间:2018-03-08 20:26:03

标签: c modulus operation mod

在'mod = number%iter;'的行上,我可以用任何其他操作替换模数,它可以工作,但不能用模数。有人知道为什么吗?它只是前两次打印,然后说

RUN FAILED (exit value: 1, total time: 1s)

将会有更多的代码,所以这个功能现在可能没用了,但将来也不会。 请记住,我是全新的,所以请不要因为我的小脑子过于复杂!这是代码:

#include <stdio.h>
#include <string.h>
int test(int number) {
    printf("Number = %d\n",number);
    int iter;
    int mod;
    for (iter=0;iter<number;iter+=1) {
        printf("%d ",iter);
        printf("%d ",number);
        mod = number%iter;
        printf("%d\n",mod);
    }
    return 0;
}
int main(){
    printf("C never works\n");
    test(10);
}

1 个答案:

答案 0 :(得分:3)

使用模数运算符为左手操作数除右手操作数后的余数。你的循环从iter = 0开始,你做:

mod = number%iter;

哪个除零。使用模数运算符意味着进行除法,并检查余数。在我的编译器上至少它指定了异常是什么。

Unhandled exception at -------- Integer division by zero

除零之外不仅在编程中是定义的,而且在数学中也是如此。你不能除以零。喜剧演员史蒂文赖特说&#34;黑洞是上帝除以零的地方。&#34;所以相应地调整你的代码。