蛮力字符串匹配代码无法运行

题目:小林和小红在做一个匹配单词的小游戏,小林给出N个单词和一个字符串T,小红需要在给出的单词里面找出所有以T为前缀的单词,并按字典序进行排序。代码运行不出来,能帮忙看看哪里错了吗


#include<stdio.h>
#include<vector>
#include<string.h>
using namespace std;
int main(){
    int N;
    scanf("%d",&N);
    char a[N]={};
    char str[100];
    for(int i=0;i<N;i++){
        scanf("%s\n",&str);
        a[i]=*str;
    }
    char str2[100];
    scanf("%s",&str2);
       int n = strlen(str2);
    vector<char>v;
    for(int i=0;i<N;i++){
        int j=0;
        while(j<n&&str2[j]==str[j]){
            j++;
        }
        if(j==n){
            v.push_back(a[i]);
        }
    }//选出满足条件的字符串
    for(int k=0;k<v.size();k++){//字典序排序
        strcmp((char*)v[k],(char*)v[k+1]);
        if(1){
            printf("%s\n",v[k]);
        }
        else if(-1){
            printf("%s\n",v[k+1]);
        }
        else{
            printf("No Result!");
        }
    }
}