как работают эти строки?

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Кирилл1212
Сообщения: 6
Зарегистрирован: 11 ноя 2017, 02:15

25 дек 2017, 01:55

Код: Выделить всё

if (begin < end)
if ((pmin == NULL) || (pminlen > end - begin))
{
pmin = begin;
pminlen = end - begin;
}

Код: Выделить всё

#include <stdio.h>
#include <string.h>
int main()
{
printf("input text: ");
char text[1024];
fgets(text, sizeof(text)-1, stdin);
char* pmin = NULL;
size_t pminlen = 0;
char* begin = text;
char* end = text;
while (*end)
{
    //находит длину минимальной непрерывной буквенно-цифровой последовательности
    //в результате его выполнения begin указывает на первый буквенно цифровой символ
for (begin = end; *begin && !isalnum(*begin); ++begin) { ; }
//после второго цикла end указывает на первый символ после буквенно цифровой последовательности
for (end = begin; *end && isalnum(*end); ++end) { ; }
if (begin < end)
if ((pmin == NULL) || (pminlen > end - begin))
{
pmin = begin;
pminlen = end - begin;
}

}
{

printf("\n");
printf("min = %.*s %d\n", pminlen, pmin, pminlen);
}
system("pause");
return 0;
}
Ответить