LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Лучше бы строки в case завезли, например.

Эм, нет.

Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.

Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.

Ну и switch() это не синтаксический сахар над каскадными if-ами, если что, а штука для использования таблиц переходов. Со строками это опять же невыполнимо.

Исправление firkax, :

Лучше бы строки в case завезли, например.

Эм, нет.

Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.

Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.

Исходная версия firkax, :

Какое-то кромешное ненужно. Лучше бы строки в case завезли, например.

Эм, нет.

Я вот недавно удивлялся, почему в case указатели нельзя использовать. Видимо, как раз для того, чтобы кто-то по незнанию не попытался туда строки сувать, разумеется с не тем результатом который он ожидал.

Сравнение строк (strcmp) - это функция библиотеки, и хотя компилятор может её генерировать сам, но лишь в порядке оптимизации. Неявно вызывать её из синтаксических конструкций ни в коем случае нельзя.