簡體   English   中英

我是C語言的新手,在使用模數時遇到麻煩

[英]I am new to C and having trouble with using modulus

在顯示“ mod = number%iter;”的行上,我可以用任何其他操作替換模數,並且它可以工作,但不能用模數。 有人知道為什么是這樣嗎? 它只是在前兩次執行printf然后說

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);
}

在將左操作數除以右操作數后,使用模運算符可以得到余數。 您的循環從iter = 0開始,然后執行以下操作:

mod = number%iter;

哪除以零。 使用模運算符意味着進行除法,然后檢查余數。 至少在我的編譯器上,它指定異常是什么。

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

除零不僅在編程中沒有定義,在數學中也沒有定義。 你不能被零除。 喜劇演員史蒂芬·賴特(Steven Wright)說:“黑洞是上帝除以零的地方。” 因此,請相應地調整代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM