Tablica dwuwymiarowa w c

0

Zawsze pisałem kody w c++ teraz potrzebuje w c i mam jakiś prosty problem w którym nie wiem o co chodzi. Mam taki kod:

 #include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,m,i,j;
    scanf("%d%d",&n,&m);
    char tab[n][m];
    for(i=0;i<n;i++)
        for(j=0;j<m;j++) scanf("%c",&tab[i][j]);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++) printf("%c",tab[i][j]);
        printf("\n");
    return 0;
}

Gdy podam wymiary tablicy np. 3 5 i takie dane:

3 5
12345
12345
12345

Output wygląda tak:

12345
12345
12

I nie dokańcza o co chodzi? W c++ mi to działa gdy tylko przejdę na c już nie... a tylko zmieniam couty i ciny na printf i scanf...

0
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n,m,i,j;
    scanf("%d%d",&n,&m);
    m++; //jeszcze miejsce na '\0'
    char tab[n][m];
    for(i=0;i<n;i++)
        for(j=0;j<m;j++) scanf("%c",&tab[i][j]);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++) printf("%c",tab[i][j]);
        printf("\n");
    return 0;
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1