Mam pytanie dlaczego w tym programie wyświetla 2 skutki ifów pomimo jasno określonych instrukcji
#include <iostream>
#include <cstdlib>
#include <sstream>
using namespace std;
int s[10],a;
string str;
int main()
{
cout << "podaj cyfre" << endl;
cin>>str;
int dl=str.length();
istringstream iss(str);
iss >> a;
s[0]=a/2;
if (str[dl]==1||3||5||7||9)
{
cout<<s[0]<<"r1";
}
if (str[dl]==0||2||4||6||8)
{
cout<<s[0]<<"r0";
}
return 0;
}
Dokładniej rzecz biorąc dlaczego wyświetla mi i to r1 i r0 nawet jeżeli podam cyfre która kończy się na np.8 lub 2.
Za odpowiedź z góry dzięki.