if (integer % 3 == !0 && integer % 2 == !0) // ! 어디에?
{
cout << "2의배수도, 3의배수도 아닙니다." << endl;
}
warning C4805: '==' : 연산에 'int' 형식과 'bool' 형식을 함께 사용하는 것은 안전하지 않습니다.
이런 워닝이 떠서 구글링을 해보았으나 C4805가 발생하는 코드를 적어놨는데 무슨 소린지 몰라서 질문합니다.
제 위 코드에선 어떤 식으로 바꿔야 되나요?
그리고
#include <iostream>
using namespace std;
int main()
{
int integer;
while (1)
{
cout << "1에서 10 사이의 정수를 입력하세요.(-1 입력시 종료) : ";
cin >> integer;
if (integer == -1){
cout << "종료합니다." << endl;
break;
}
if (integer < 1 || integer>10)
{
cout << "범위오류" << endl;
continue;
}
if (integer % 3 == !0 && integer % 2 == !0)
{
cout << "2의배수도, 3의배수도 아닙니다." << endl;
}
if (integer % 2 == 0)
{
cout << "2의 배수입니다." << endl;
}
if (integer % 3 == 0)
{
cout << "3의 배수입니다." << endl;
}
}
}
코드를 이렇게 작성했는데 5를 입력했을 때 2의배수도, 3의배수도 아닙니다 가 출력되지 않는 이유가 뭔가요?