Остановить обработку NULL
как символ, он должен быть константой типа указателя.
Ваш заголовок цикл должен быть:
for(t = s; *t != '\0'; ++t)
Это «слишком откровенные» способ написания этого, некоторые программисты C, направленные на максимальную краткость будет просто сказать:
for(t = s; *t; ++t)
Поскольку сравнение до '\0'
- это то же самое, что и сравнение с 0, что подразумевается при простом вычислении выражения. Тем не менее, я думаю, что != '\0'
помогает в чтении, так как он дает понять, что происходит, мы ищем строковый ограничитель '\0'
. Сравнение должно быть тривиально оптимизировано любым компилятором.
Вместо '* t! = NULL' вы должны иметь' * t! = '\ 0''. –
должен сказать: я никогда не видел функцию, объявленную таким образом. Это синтаксис c? – smac89
@ Smac89 Это не объявление функции, а легальный синтаксис C, '{}' создать блок. –