Как я могу использовать переменную для определения длины поля при использовании scanf. Например:
char word[20+1];
scanf(file, "%20s", word);
Кроме того, это корректно для использования 20+1 (так как это должно добавить \0 в конце?). Вместо этого я хотел бы иметь что-то как:
#define MAX_STRING_LENGTH 20
и затем
char word[MAX_STRING_LENGTH+1];
scanf(file, "%"MAX_STRING_LENGTH"s", word); // what's the correct syntax here..?
Действительно ли это возможно? Что было бы, если это - переменная как:
int length = 20;
char word[length+1];
scanf(file, "%" length "%s", word); // what's the correct syntax here..?
Спасибо.