二つのファイルから文字列を読み込み、それを1ファイルの1行目、2ファイルの1行目、1ファイルの2行目、2ファイルの2行目と交互に新しいファイルに出力したいのですが、
自分の頭の中では文字列配列を3つ用意し、1つ目に1つ目のファイルから

#include <stdio.h>

int main(void) {
    FILE* fp1, * fp2, * fp3;
    fp1 = fopen("1.txt", "r");
    fp2 = fopen("2.txt", "r");
    fp3 = fopen("4.txt", "w");

    int i = 0, j = 0;
    int n=0, m=0;
    char s[20][20];
    char t[20][20];
    char st[20][20];

    while (fscanf(fp1, "%s", s[i][20]) != NULL) {
        st[2 * i][20] = s[i][20];
        i++;
    }

    while (fscanf(fp2, "%s", t[j][20]) != NULL) {
        st[2 * (1 + j)][20] = t[j][20];
        j++;
    }

    while (st[n][20] != NULL) {
        fprintf(fp3, "%s\n", st[n][20]);
        n++;
    }

    printf("出力しました");

    fclose(fp1);
    fclose(fp2);
    fclose(fp3);
    return 0;
}