Исправление firkax, (текущая версия) :
Лучше бы строки в case завезли, например.
Эм, нет.
Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.
Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.
Ну и switch() это не синтаксический сахар над каскадными if-ами, если что, а штука для использования таблиц переходов. Со строками это опять же невыполнимо.
Исправление firkax, :
Лучше бы строки в case завезли, например.
Эм, нет.
Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.
Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.
Исходная версия firkax, :
Какое-то кромешное ненужно. Лучше бы строки в case завезли, например.
Эм, нет.
Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.
Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.