704 ____Часть II. Программирование на C++
while (*p && *р !=','&& *р !=')') {
р++;
}
if (*р == '\0') return;
if (*p == •) ') (
while (*string && *string !== ')')
{
**result++ = *string++;
)
*result = '\0';
}
else
{
p++;
while (*p && *p == ' ') {
P++;
}
if (*p == '\0') returns-while (*p && *p !=')') {
*result++ = *p++;
}
if (*p =- '\0') {
*result = '\0' ;
return;
}
*result++ = ' ' ;
while (*string && «string != ',') {
*result++ = *string++;
}
*result = '\0';
}
}
Требуются немалые усилия, чтобы понять, как же работает этот небольшой фрагмент. А ведь он помимо своей основной задачи выполняет еще проверку ряда ошибок и обработку особых случаев, таких как наличие лишних пробелов или однословные имена (например, Madonna). Чтобы сделать его