테스트 사이트 - 개발 중인 베타 버전입니다

c언어 if문 간단한 질문 채택완료

썸머워즈 5년 전 조회 2,118

#include

int main()

{     int a;

 

    printf("사용자 id를 입력하세요:");     scanf_s("%d", &a);

 

    if (a = 1234)     {         printf("정상적으로 로그인이 성공되었습니다");     }     else     {         printf("사용자 id가 틀렸습니다");     } }

 

해당 소스코드를 실행시키는데 뭐가 잘못된건지 id가 1234가 아니어도 정상적으로 로그인이 성공되었다고 나오네요ㅜㅜ id=1234 아닐시에 else로 안가고 자꾸 1234일 때 나와야하는 출력값이 나와버리네요... 

뭐가 잘못된걸까요..

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
서잰션
5년 전

if (a = 1234) -> if (a == 1234)

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

답은 나와 있으니 패스하고..

오류를 고치는건 금방이지만 그 오류를 찾기위해 중간중간에 debug 메세지 넣고

돌려보고 다시 debug 메세지 넣고 하는 과정이 학습이고 공부입니다.

그걸 debugging 이라고 하잖아요 ^^

 

여기다 올리면 답은 던져주겠지만 님한테는 마이너스 에요

물고기는 얼마든지 던져줄수 있지만 낚시 기술은 잘 안가르쳐 주기도 하거니와

찾지 않으면 모르니까요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

썸머워즈
5년 전
c언어 정말 기초부터 배우는지라 아직 미숙한게 많네요^^... 작성자 분이 쓰신 말도 맞는 말인 것 같네요 다음부터는 시간이 걸리더라도 조금 더 스스로 고민해보겠습니다 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
5년 전

if (a = 1234 ) 라고 하시면

 

 

if (   a에 1234를 대입한결과는 1234 

 

if (1234) 가 되고

c언어에서 0은 false 와 동일 양수인 1 이상은 true 와 동일

 

비교를 하는건 == 로 사용하셔야 합니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

a
5년 전

'=' 은 오른쪽 값을 왼쪽에 넣는다는 의미 입니다.

'==' 이 비교구문입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인