Błędny rezultat funkcji obliczającej dzielnik liczby.

0

Witam czemu w tm programie na końcu dodawana jest liczba 0?

#include <iostream>
using namespace std;
 
int dziel(int b) {
     for(int i=1; i<=b; i++)
    {
        if(b % i == 0)
            cout<<i<<endl;
    }
}

int main() {
    int n;
    cin >> n;
    cout << dziel(n);
    
    return 0;
} 
1

Tak na prawdę to może to być dowolna liczba, nie tylko zero.
Bierze się ona z tego, że nie zwracasz żadnej wartości z funkcji dziel więc cout w main wypisuje jakieś śmieci.

0
cout << dziel(n);

Powoduje wywołanie funkcji, tzn. w niej wypisujesz dzielniki, a następnie wyświetlasz wartość zwracaną przez tą funkcję. Jako, że nie masz w niej określonego return to ta wartość akurat w tym przypadku wyszła 0

0

czyli wystarczy ze napisze samo dziel(i); w main?

1 użytkowników online, w tym zalogowanych: 0, gości: 1