c언어 if문 간단한 질문

c언어 if문 간단한 질문

QA

c언어 if문 간단한 질문

본문

#include <stdio.h>

int main()

{
    int a;

 

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

 

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

 

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

뭐가 잘못된걸까요..

이 질문에 댓글 쓰기 :

답변 4

if (a = 1234 ) 라고 하시면

 

 

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

 

if (1234) 가 되고

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

 

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

 

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

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

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

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

 

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

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

찾지 않으면 모르니까요

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

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT