输入样例为abcabd,输出结果为c。可是我编码输出的结果是“no”,我找不出哪里错了

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,n=0;
    char s[100000],a[100000];
    gets(s);
    a[100000]=s[100000];
    for(i=0;i<strlen(s);i++)
    {
        for(j=0;j<strlen(s);j++)
        {
            if(s[i]==a[j]) n=n+1;
        }
        if(n==1)
        {
            printf("%c",s[i]);
            break;
        }
        if(n>1);
    }
    if(n==0) printf("no");
    return 0;
}

n==0结果为no 

输入样例为abcabd,输出结果为c 啥意思?

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,n=0;
    char s[100000];
    gets(s);
    //a[100000]=s[100000];
    for(i=0;i<strlen(s);i++)
    {
    	n=0;//每次要初始化0
        for(j=0;j<strlen(s);j++)
        {
            if(s[i]==s[j]) n=n+1;
        }
        if(n==1)
        {
            printf("%c",s[i]);
            break;
        }
        if(n>1);
    }
    if(n==0) printf("no");
    return 0;
}

 

a[100000]=s[100000];  //这么赋值不正确,应该是strcpy(a,s);