wczytywanie tekstu i zmiennych z klawiatury

0

Nie rozumiem dlaczego w tym kodzie jest akurat taka tablica?

#include <stdio.h>
main()
{
	int liczba;
	char tekst[50]={0};
	puts("wpisz ciag znakow:");
	gets(tekst);
	puts(tekst);
	printf("podaj jakas liczbe:");
	scanf("%d",&liczba);
	printf("wpisales liczbe: %d",liczba);
	fflush(stdin);
	return 0;
	
}

A dlaczego nie jest to np.

char tekst[51]={0};

Proszę o pomoc :)

2

Bo tak sobie zamierzył programista, ot, cała filozofia. Założenie jest że ciąg znaków będzie ich miał max 49. Swoją drogą, nigdy nie używaj gets, zawsze są lepsze alternatywy.

1
char tekst[50]={0};
scanf("%49s",tekst); // masz zagwarantowane że nie wyskoczysz poza tablicę

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