#include <stdio.h>
#include <stdlib.h>
#include<ctype.h>
#include<string.h>
#define ROZMIAR 80
int szukaj(char tab[], char c);
int main()
{
int wynik;
char arg1[ROZMIAR];
char znak;
scanf("%s %c", arg1, &znak);
wynik = szukaj(arg1,znak);
if (wynik != NULL)
printf("Znalazlem znak %c pod adresem %p.", znak, wynik);
else printf("Znalazlem tylko %d.", wynik);
return 0;
}
int szukaj(char tab[], char c){
int rozmiar, temp, *pointer;
char tznak;
rozmiar = strlen(tab);
for (temp = 0; temp < rozmiar; temp++){
tznak = tab[temp];
if (strcmp(tznak, c) == 0){
*pointer = &tab[temp];
return *pointer;
} else return NULL;
}
}
}
Podaje wyraz i znak, program szuka tego znaku w wyrazie, jak znajdzie ma zwrócić adres tego znaku.
Nie wiem czemu przy
if (strcmp(tznak, c) == 0)
kompilator wywala mi program z komunikatem
Program received signal SIGSEGV, Segmentation fault.