Hello again! I'm about to ask what may be a silly question- but after half an hour's research the answer still eludes me...
The following code compiles well, of course:
#include <iostream>
using namespace std;
int main () {
int a;
int b;
int c;
cin >> a >> b;
c = a%b;
cout << c;
if (c=0)
{
cout << "Modulo is zero";}
return 0;
}
The code works fine- except when the modulo is zero(say when I divide eight by two), in which case the if test does not seem to detect that the modulo is zero, and refuses to print the string. Neither does it do so if I declare c as a float. This seems rather dodgy to me- a modulo is an integer, and not detecting that an integer is zero seems rather serious! I have the suspiscion tha I am doing something horribly wrong and not noticing...
The following code compiles well, of course:
#include <iostream>
using namespace std;
int main () {
int a;
int b;
int c;
cin >> a >> b;
c = a%b;
cout << c;
if (c=0)
{
cout << "Modulo is zero";}
return 0;
}
The code works fine- except when the modulo is zero(say when I divide eight by two), in which case the if test does not seem to detect that the modulo is zero, and refuses to print the string. Neither does it do so if I declare c as a float. This seems rather dodgy to me- a modulo is an integer, and not detecting that an integer is zero seems rather serious! I have the suspiscion tha I am doing something horribly wrong and not noticing...