Witam.
Robię zliczacz liter, a mianowicie podaje napis i jaka litere ma sprawdzic, a funkcja zlicza ile jest tych liter. Oto, co już zrobiłem:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int ZliczIle(char* s, char c) {
int liczbaz=0;
for (int i = 0; s[i] != NULL;i++) {
if (s[i] == c)
liczbaz++;
}
return liczbaz;
}
void main() {
char napis[100];
char znak;
printf("Podaj dowolny ciag znakow");
scanf("%s", &napis);
printf("Podaj dowolny znak");
scanf("%c", &znak);
int liczba = ZliczIle(&napis, znak);
printf("Liczba znakow %c w ciagu znakow %s wynosi %d", napis, znak, liczba);
}
Najbardziej mnie zastanawia, czy ta linijka jest poprawna:
if (s[i] == c)
Program wczytuje sie poprawnie, natomiast po podaniu napisu konsola sie "wiesza" i wyskakuje komunikat "Program przestał działać".
Z góry dziękuje za pomoc! :)