식이 수정할수있는 lvalue여야 합니다. 문제해결요청
글쓴이: hashasi / 작성시간: 화, 2018/08/07 - 2:40오후
C언어 입문이고 열혈 C프로그래밍에서 나온 값을 그대로 입력하였는데
컴파일 실패라 나오네요
문제는 8~9줄로만 나오고요ㅠ
#include
int main(void)
{
int num1, num2, num3;
int result;
printf("세 개의 정수 입력 :");
scanf("%d %d %d", &num1,&num2,&num3);
result=num1 * num2 = num3;
printf("%d * %d + %d = %d\n", num1, num2, num3, result);
return 0;
}
에러사항은 '=': 왼쪽 피연산자는 l-value이어야 합니다. ,
식이 수정할수있는 lvalue여야합니다.
'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details
이렇게 3개의 오류가 나옵니다.. 책에나와있는 그대로를썼는데 어떤문제일까요?
Forums:
오타난 거 같은데요?
위 식에서 num2 와 num3 사이에 = 를 + 로 바꾸어야겠죠?
세벌 https://sebuls.blogspot.kr/
감사합니다 그렇더라고요! ㅎㅎㅎ
감사합니다 그렇더라고요! ㅎㅎㅎ
간단합니다. 책에 나와 있는 그대로 쓰지 않았기
간단합니다. 책에 나와 있는 그대로 쓰지 않았기 때문이죠.
모처럼 틀린 그림 찾기를 한 번 해 보는 게 어때요?
result=num1 * num2 = num3;
result=num1 * num2 + num3;
C언어를 처음 배울 땐 이렇게 고작 한 글자 틀려서 컴파일이 안되거나 원하는 대로 동작하지 않는 경우가 왕왕 있습니다.
책이 틀렸거나, 귀하께서 잘못 옮겼거나 뭐 그렇겠죠.
전자일 경우에는 책을 바꾸세요. 요즘 세상에 다른 것도 아니고 책에 들어간 예제 코드가 잘못되는 경우는 상상하기 어렵습니다. 문장이 비문(非文)이라던가 단어를 잘못 써서 문장 뜻이 뒤바뀌었다거나 그런 실수는 찾기 어려우니 어쩔 수 없더라도, 코드가 이상하다는 건 한 번 컴파일/실행도 안 해본 코드를 실었다는 얘기잖아요.
후자가 아마 대부분일텐데, 몇십 시간이 걸려도 좋으니 직접 찾아 고쳐보세요. 책과 모니터를 번갈아 쳐다보며 한 줄씩 비교해 보고, 컴파일러 에러 메시지를 보며 어디쯤이 잘못됐을지 추리해보세요. 그 모든 게 다 경험이 되어 쌓이고, 그렇게 몇 번 삽질하다 보면 본인이 어떤 실수를 자주 하는지 스스로 파악해서 조심스러워지게 될 겁니다.
좋은정보 감사드립니다.^^
좋은정보 감사드립니다.^^ 주의가 얕았네요
댓글 달기