C-строки — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Ulysses (обсуждение | вклад) м (переименовал «C-строки, массивы и указатели» в «C-строки») |
Ulysses (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
// работа с очередным символом строки: *s | // работа с очередным символом строки: *s | ||
}</source> | }</source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Категория:C++]] | |
− | |||
− | |||
− | |||
− |
Версия 20:14, 27 октября 2012
C-строки
// Вычисление длины строки
int string_length(char * s) {
int len = 0;
// Цикл закончится при достижении нулевого байта, обозначающего конец строки
for ( ; *s != 0; ++s)
++len;
return len;
}
// Каждая латинская буква, кроме 'z', меняется на следующую в алфавите
void shift_string(char * s) {
for ( ; *s; ++s) { // Ненулевое значение кода символа преобразуется к True
// Этот заголовок цикла работает также, как в string_length
if ('a' <= *s && *s < 'z')
++(*s); // Увеличение кода символа на единицу
}
}
Третий, самый краткий и широко распространённый вариант цикла по всей строке выглядит так:
while (*s++) {
// работа с очередным символом строки: *s
}