yjh071126   4년 전

#include

using namespace std;

int main() {

double a, b;

double c;

scanf("%lf %lf", &a, &b);

c = a+b(double)%(double)2;

printf("%10lf", c);

return 0;

}

왜 컴파일에러인건가요..?

초보라서..ㅎㅎ;;

hunni10   4년 전

c++에서 캐스팅 연산을 할 때 (타입) 변수명 또는 (타입) 리터럴 형식으로 하기 때문에

c = a+b(double) % (double)2 가 아니라 a + (double) b % (double) 2 가 옳은 표현이긴 합니다

그러나 double 형은 부동소수점 형이기 때문에 나머지 연산이 정의되지 않습니다.

더 넓은 정수 타입을 사용하고 싶으시다면 long 형이나 long long 형을 사용하시면 됩니다.

(또한 문제를 보면 나머지 연산이 필요 없습니다! 잘 생각해 보세요)

댓글을 작성하려면 로그인해야 합니다.