Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2013, 20:35   #1
S111S
Новичок
Джуниор
 
Регистрация: 03.04.2013
Сообщений: 2
По умолчанию Задача на строки (С)

Здравствуйте, есть код программы для нахождения в строке слов палиндромов.
Помогите разобраться в ней?
а именно: что описывают эти строки:
while(*p++) m++;
if(!*p) break;
Код:
#include <stdio.h>
#include <stdlib.h>
int check(char *str)
{   int n = 0, m = -1;
    char *p = str;
    while(*p++) m++;
    if(n == m) return 0;
    while(n < m)
        if(str[n++]!=str[m--]) return 0;
    return 1;  }
int main()
{   char str[1000] = {0};
    char temp[1000] = {0};
    char *p;
    int i = 0;
    printf("%s", "Input string:");
    gets(str);
    p = str;
 printf("Output string:");
   do  { if((*p >= 'A'  && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
        {    while(*p!=' ')
            {   if(!*p) break;
                if((*p >= 'A' && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
                    temp[i++] = *p;
                *p++;      }
            i = 0;
            *p--;
int n;
for( n = 0; n < 1000; ++n); temp[n] = ' ';
            if(check(temp)==1)
printf ("%s", temp);
else printf (" ",temp);
      }   }  while(*p++);
printf("\n");
    return 0;   }
S111S вне форума Ответить с цитированием
Старый 24.04.2013, 22:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
while(*p++) m++;
Похоже что это подсчет символов в строке типа ASCIIZ.
Цитата:
if(!*p) break;
Если конец строки то выйти из цикла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача 1-реализована.Задача 2-Найти и вывести символы 2-ой строки не совпавшие с символами 1-ой строки Leshkin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.11.2013 08:57
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Задача в СИ на строки. kane21 Общие вопросы C/C++ 2 12.03.2012 20:09
Задача на строки semennn Помощь студентам 5 25.04.2009 07:58
Задача на строки Stiff Помощь студентам 6 26.03.2009 22:47