yohjpさんのアドバイス通りにやってみましたが、まだエラーが出てしまいます。

(Segment fault)

再度ご指摘くださると助かります。

#include <stdio.h>
#include <string.h>


int written(FILE *file,char* de);
int readn(FILE *file、char* re);
int keytype(char* deta,char* read);

int main(void)
{
    char data[30];
    char read[30];
    char* re=read[0];
    FILE *file;
    file = fopen("sy.txt","w+");
    scanf("%s",data);
    char *de=&data[0];
    char *res;
    res=readn(file,re);
    written(file,de);
    keytype(de,res);
}

int written(FILE *file,char* de){
    char data_written[30];
    strcpy(data_written,de);
    fprintf(file,"%s",data_written);
    fclose(file);
    return 0;
}

int readn(FILE *file,char* re){
    fgets(re, 20, file);
    return re;
}

int keytype(char* data,char* read){
    printf("ABEKOBESANYEAH");
    char data_keytype[30] = "b";
    char read_keytype[30] = "a";
    strcpy(data_keytype,data);
    strcpy(read_keytype,read);
    int i,s,t,sized,sizer;
    sized=sizeof(data_keytype);
    sizer=sizeof(read_keytype);

    for(i=0;i<sized;i++){
       for(s=0;s<sizer;s++){
          if(data_keytype[i]==read_keytype[s]){
            if(data_keytype[i+1]==read_keytype[s+1] || s+1<sizer ||i+1<sized){
              printf("%s,%s",read_keytype[s+1],read_keytype[s+1]);
            }
          }
       }
    }
}