Siemka,
Dlaczego dla n = np 999;
Poniższa funkcja:
char * intToString(int n){
char buf[20];
int i = 0;
while( n ){
buf[i] = char((n % 10) + 48);
n /= 10;
i++;
}
buf[i] = '\0';
//zwraca odwrocona liczbe ale to nie ma znaczenia
return buf;
}
W tym przypadku
int n;
scanf( "%d", &n);
printf("%d\n", strlen(intToString(n)) );
Zwraca 3, a w tym przypadku:
void notworking(char * s){
printf("dlugosc -> %d", strlen(s));
}
Zwraca mi 31 albo 21 :S
Nie bardzo wiem dlaczego, anyone?