|
그냥 아래 소스에다 주석으로 적어보겠습니다. //% 로 표시하겠습니다. 제가 적은걸 구분하기위해서여
열공하세요~~
독학생 님이 쓰신 글 :
: c언어를 독학하는 학생인데 한가지 소스를 적는중에 문제가 발생해서
: 이렇게 글을 올립니다. if문에서 1을 입력하면 숫자->아스키 로 변환되지만
: if문 2를 입력하면 아스키->숫자 가 입력이 안되고
: 계속 10을 반환합니다. 왜 그런지 잘 모르겠으니 소스를 보시고
: 답변해주시면 감사하겠습니다. 그럼 수고하세요.
:
: #include<stdio.h>
: int main(void)
: {
: char asc, asc2;
: int num;
: printf("숫자 -> 아스키코드 1번\n아스키코드 -> 숫자 2번 을 입력하세요\n\n");
: scanf("%d",&num); //% num 에 사용자가 선택한 수를 입력받았습니다.
: if(a==1) // 1번 일 경우 연산 //% 갑자기 a는 어디서 나왔을까요? num으로 바꾸십시오
: {
: printf("숫자 -> 아스키코드\n\n");
: scanf("%d",&asc); //% 128까지의 수입력에만 유효합니다.
: printf("%c",asc);
: }
: else if(a==2) // 2번 일 경우 연산 //% 마찬가지 이유로 num으로
: {
: printf("아스키코드 -> 숫자\n\n");
: scanf("%c" ,&asc2); //% 굳이 구별하지 않고 그냥 asc로 같이 사용하셔도 됩니다.
: printf("%d" ,asc2);
: }
: else// 1번 2번 을 선택 하지 않을경우 연산
: {
: printf("숫자를 잘못 입력 하셨습니다");
: }
: return 0;
: }
|