Mam taki kod i wyskakują mi takie błędy.
error: variable-sized object may not be initialized
10 | char cale_zdanie[dlugosc] = {0};
warning: excess elements in array initializer
10 | char cale_zdanie[dlugosc] = {0};
note: (near initialization for ‘cale_zdanie’)
#include <stdio.h>
#include <string.h>
int main()
{
char zdanie1[] = "Ala ma";
char zdanie2[] = "kota";
int dlugosc = strlen(zdanie1) + strlen(zdanie2);
dlugosc++;
// teraz działa
char cale_zdanie[dlugosc]; // = {0};
strcpy(cale_zdanie, zdanie1);
strcat(cale_zdanie, " ");
strcat(cale_zdanie, zdanie2);
printf("Dlugosc zdania to %d, a cale zdanie to %s", dlugosc, cale_zdanie);
return 0;
}
Edycja: Dobra znalazłem rozwiązanie mam gcc 9.1.0 który nie zezwala na to co "= {0}" jest to dozwolone tylko jako rozszerzenie kompilatora w C89