Използвайки fgets
за въвеждане на низ, имам съмнения, свързани с дължината на прочетения низ.
Например, разгледайте следната програма.
char str[50];
int i;
int len;
printf("Enter name:\n");
fgets(str,11,stdin);
len = strlen(str);
printf("len : %d\n",len);
Ако въведа
123456789
,strlen
дава 10.Ако въведа
1234567890
, даденотоstrlen
отново е 10 ??
Мисля, че strlen
обмисля нов ред и за дължина на низа. Прав ли съм? (Разбирам fgets
използването на нов ред като част от низ)
Какво не е наред с (2), където въвеждам точно 10 знака, тук дължината на низа трябва да е 11, нали? 10 + 1 (за нов ред) = 11