Я пишу код, в котором функция «verify» должна проверять, отличаются ли символы в строке или нет. Затем эта функция вызывается для каждой строки в файле. Тем не менее, хотя я проверил, и функция в порядке, есть кое-что, что я делаю неправильно, относительно возврата указателей или атрибуции в основной функции. В результате я получаю 'null null null' для каждой строки файла (в моем файле 3 строки)
Это мой код:
#include <stdio.h>
#include <stdlib.h>
char* verif (char line[])
{
int i,j,ok=1;
char v[5];
for (i=0; i<strlen(line); i++)
{
for (j=i+1; j<strlen(line); j++)
{
if (line[i]==line[j])
{
ok=0;
break;
}
}
}
if (ok==0) strcpy(v,"No");
else strcpy(v,"Yes");
return v;
}
int main()
{
FILE *f;
char sir[30];
char* ctrl;
if ((f=fopen("fis.txt","r"))==NULL) exit(1);
while (fscanf(f,"%[^\n]",sir))
{
if (fgetc(f)==EOF) break;
puts(sir);
ctrl=verif(sir);
printf("%s",*ctrl);}
}