파일 문자열 출력

조회수 546회

a[0]~a[9]가 다 같은 걸로 돼 있어요. 뭐가 문제일까요

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void insertionsort(char a[], int n)
{

    int i, j;
    char temp[50];

    for (i = 0; i < n - 1; i++)
    {
        j = i;
        while (j >= 0 && a[j] > a[j + 1])
        {
            temp[j] = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
            j--;
        }
    }
}

int main(void)
{

    int i;
    char name[50], *a[10];
    FILE* data, * result;
    fopen_s(&data, "data.txt", "r");
    if (data == NULL)
    {
        printf("파일 열기 실패");
        return 1;
    }
    for (i = 0; i < 10; i++)
    {
        fscanf(data, "%s", name);
        a[i] = name;
        printf("%s ", a[i]);
    }    

    insertionsort(a, 10);
    printf("\n");
    fopen_s(&result, "result.txt", "w");
    if (result == NULL)
    {
        printf("파일 열기 실패");
        return 1;
    }
    for (i = 0; i < 10; i++)
    {
        fprintf(result, "%s\n", a[i]);
        printf("%s ", a[i]);
    }
    fclose(data);
    fclose(result);
    return 0;
}
  • a[j] = a[j + 1] 이거 아닐까요? 초보자 2021.6.7 17:02

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)