mi potete aiutare a capire questo comporatmento
codice:
#include <stdio.h>
#define dim 300
float riempimento_array(char array[],int dimensione);
int main()
{
char array[dim]="ciao";
printf("array--> %s\n\ndimensione array-->%d\n\nriempimento--> %.2f%%",
array,dim,riempimento_array(array,dim));
getchar();
return 0;
}
float riempimento_array(char array[],int dimensione)
{
int a=0; //contatore
while(array[a]!='\0')
{
a++;
}
return ((a-1)*100/dimensione) ;
}
out
array--> ciao
dimensione array-->300
riempimento--> 1.00% //questo è il problema
Confrontandolo con questo
codice:
#include <stdio.h>
#define dim 300
float riempimento_array(char array[],int dimensione);
int main()
{
char array[dim]="ciao";
printf("array--> %s\n\ndimensione array-->%d\n\nriempimento--> %.2f%%",
array,dim,(riempimento_array(array,dim))*100/dim);
getchar();
return 0;
}
float riempimento_array(char array[],int dimensione)
{
int a=0;
while(array[a]!='\0')
{
a++;
}
return a; ;
}
out
array--> ciao
dimensione array-->300
riempimento--> 1.33% ////questo è il problema