witam próbuje napisać program który pod zmiennymi i,j typu int przyjmuje jakieś jakieś wartości następnie zamieniamy je na char jeśli liczba jest z zakresu 0-9 a więc jedno cyfrowa to przed liczbe wstawi zero a jak jest 2 cyfrowa to zostawia ją tak jak jest. Następnie robi to samo z 2 liczbą a na koniec łączy je w jedną tablice char zawsze o długości 4 znaków. Mój kod:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i=2, j=1;
char *z1,*z2;
static char v[4]; //z1, z2 zmienne do przekazania v - tablica docelowa
sprintf(&z1, "%d", i);
sprintf(&z2, "%d", j);
if (strlen(&z1)==1) {strcat(v,"0"); strcat(v,&z1);} else {strcat(v,&z1);}
if (strlen(&z2)==1) {strcat(v,"0"); strcat(v,&z2);} else {strcat(v,&z2);}
printf("v=%s",v);
return 0;
}
}
Kod się kompiluje i działa tak jak bym sobie tego życzył aczkolwiek podczas kompilacji wyskakuje cała masa ostrzeżeń odnoście sprintf strlen i strcat. Z czego może to wynikać, jakie parametry powinny dostać te funkcje aby się nie czepiał?