편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2022.06.25

    C언어 이차원배열 문자열 질문


    C언어 배운 지 얼마 안됐습니다.

    C언어로 파이썬의 딕셔너리를 구현하고자 하고 있는데 오류 때문에 이도저도 못하고 있어서 질문 드려요.

    1. 키값 밸류값 입력받고 저장된 배열을 출력할 때 한글이 깨지는 이유는 무엇때문일까요?
    2. strcmp 처음 써보는데 이렇게 쓰는 게 맞을까요? 아마 여기서 오류 걸리는 거 같은데 어떻게 써야할 지 모르겠어요.
    #include <stdio.h>
    #include <string.h>
    
    int main(void) {
      char dic[20][2];
      int num,i,n,m;
      printf("요소가 몇 개인 딕셔너리를 만들까요? >> ");
      scanf("%d",&num);
    
      for (i=0;i<num;i++){
        printf("%d번 째 요소의 key, value >> ",i+1);
        scanf("%c %c",&dic[i][0],&dic[i][1]);
      }
    
      printf("{");
      for (n=0;n<num;n++){
        printf("%c:%c",dic[n][0],dic[n][1]);
        printf(",");
        }
      printf("}");
    
      printf("찾고자 하는 value값의 key값을 입력하세요 >> ");
      char key;
      scanf("%c",&key);
      for (i=1;i<num+1;i++){
        if (strcmp(key,dic[i][0]) == 0){
          printf("%c",dic[i][1]);
        }
      }
      return 0;
    }
    
  • 프로필 greatdin0님의 편집
    날짜2022.06.24

    C언어 이차원배열 문자열 질문!!!!


    C언어 배운 지 얼마 안됐습니다ㅠㅠ! C언어로 파이썬의 딕셔너리를 구현하고자 하고 있는데 오류 때문에 이도저도 못하고 있어서 질문 드려요!!ㅠ

    1. 키값 밸류값 입력받고 저장된 배열을 출력할 때 한글이 깨지는 이유는 무엇때문일까요??ㅠ
    2. strcmp 처음 써보는데 이렇게 쓰는 게 맞을까요?ㅜ 아마 여기서 오류 걸리는 거 같은데 어떻게 써야할 지 모르겠어요 =ㅠㅠ
    #include <stdio.h>
    #include <string.h>
    
    int main(void) {
      char dic[20][2];
      int num,i,n,m;
      printf("요소가 몇 개인 딕셔너리를 만들까요? >> ");
      scanf("%d",&num);
    
      for (i=0;i<num;i++){
        printf("%d번 째 요소의 key, value >> ",i+1);
        scanf("%c %c",&dic[i][0],&dic[i][1]);
      }
    
      printf("{");
      for (n=0;n<num;n++){
        printf("%c:%c",dic[n][0],dic[n][1]);
        printf(",");
        }
      printf("}");
    
      printf("찾고자 하는 value값의 key값을 입력하세요 >> ");
      char key;
      scanf("%c",&key);
      for (i=1;i<num+1;i++){
        if (strcmp(key,dic[i][0]) == 0){
          printf("%c",dic[i][1]);
        }
      }
      return 0;
    }