Cześć! Napisałam program na dwa sposoby. Dlaczego pierwszy z nich działa, a drugi nie?
#include <stdio.h>
#include <string.h>
void squeeze(char s[], char p[], int c);
main(){
char t[30], p[30];
int a, i;
printf("Podaj literke: ");
scanf("%c", &a);
printf("Podaj slowo: ");
scanf("%s", t);
squeeze(t, p, a);
for(i=0; i<strlen(p); i++)
printf("%c", p[i]);
return 0;
}
// squeeze: usuń wszystkie znaki c z s
void squeeze(char s[], char p[], int c){
int i, j = 0;
for (i = 0; s[i] != '\0'; i++)
if (s[i] != c)
p[j++] = s[i];
p[j] = '\0';
}
#include <stdio.h>
#include <string.h>
void squeeze(char s[], int c);
main(){
char t[30];
int a, i;
printf("Podaj literke: ");
scanf("%c", &a);
printf("Podaj slowo: ");
scanf("%s", t);
squeeze(t, a);
for(i=0; i<strlen(t); i++)
printf("%c", t[i]);
return 0;
}
// squeeze: usuń wszystkie znaki c z s
void squeeze(char s[], int c){
int i, j = 0;
for (i = 0; s[i] != '\0'; i++)
if (s[i] != c)
s[j++] = s[i];
s[j] = '\0';
}