Witam, napisałem program z książki i nie rozumiem dwóch zależności.
1. W Linii 12, dlaczego umieszczamy &, przy wywoływaniu funkcji "analiza"?
2. Dlaczego ++*o, ++*i a nie *o++?
#include <stdio.h>
#include <ctype.h>
int analiza(char linia[], int *l, int *c, int *o, int *i);
void main()
{
char lan[100];
char lun[100];
int lit = 0, cyf = 0, ods = 0, inne = 0, licz = 0;
printf("Podaj lancuch: \n");
fgets(lan, sizeof lan, stdin);
licz =analiza(lan , &lit, &cyf, &ods, &inne);
printf("W lancuchu: %s liczba znakow = %d \n",lan,licz);
printf("w tym: \n\tlitery: %d\n\tcyfry: %d\n", lit, cyf);
printf("\todstepy: %d\n\tinne: %d\n",ods,inne);
}
int analiza(char linia[], int *l, int *c, int *o, int *i)
{
char znak; int j = 0;
while((znak=toupper(linia[j]))!='\0')
{
if(znak >= 'A' && znak <= 'Z') ++*l;
else if(znak >= '0' && znak <= '9') ++*c;
else if(znak == ' ' || znak == '\t') ++*o;
else ++*i;
++j;
}
return j;
}
Z góry dzięki.