1. BanDiTuK29.04.2025 в 17:32от
Загрузка...
Загрузка...

Помогите в языке C, не могу понять в чём проблема.

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем akdes, 11.04.2012.

  1. akdes

    akdes

    Статус:
    Оффлайн
    Регистрация:
    08.04.12
    Сообщения:
    29
    Репутация:
    18 +/-
    Что должна делать программа:
    Из эррэя, в котором содержится 12.02.2012 выдрать число, месяц и год в отдельные arrays а потом перенести их в integer. до integer всё вроде проходит нормально.
    Проблема видимо в том, что указатели *DP, *MP & *YP под конец оказываются почему-то пустыми.
    Не судите строго, только начинаю С учить..
    Библиотеку string.h подключать нельзя... (Слишком легко - сказал учитель и усмехнулся =) )
    Заранее благодарен.


    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    char DATUM[11] = "12.02.2012";
    char D[3] = "\0";
    char M[3] = "\0";
    char Y[5] = "\0";
    char *DATUMP = DATUM;
    char *DP = D;
    char *MP = M;
    char *YP = Y;

    int Di, Mi, Yi;

    while ( *DATUMP !='.')
    *DP++ = *DATUMP++;
    *DATUMP++;

    while ( *DATUMP !='.')
    *MP++ = *DATUMP++;
    *DATUMP++;

    while ( *DATUMP !='\0')
    *YP++ = *DATUMP++;

    *DP = atoi (Di);
    *MP = atoi (Mi);
    *YP = atoi (Yi);

    printf("DATUM = %s\n", DATUM); //работает правильно
    printf("DAY = %s\n", D); //работает правильно
    printf("MоNAT = %s\n", M); //работает правильно
    printf("JAHR = %s\n", Y); //работает правильно

    printf("DATUM = %s\n", DATUM); //работает правильно
    printf("DAY = %s\n", DP); //ПУСТО
    printf("MоNAT = %s\n", MP); //ПУСТО
    printf("JAHR = %s\n", YP); //ПУСТО

    printf("DATUM = %s\n", DATUM); //работает правильно
    printf("DAY = %i\n", Di); //из пустоты берёт какие-то числа
    printf("MоNAT = %i\n", Mi); //из пустоты берёт какие-то числа
    printf("JAHR = %i\n", Yi); //из пустоты берёт какие-то числа

    return 0;
    }
     
  2. SmiLe163

    SmiLe163

    Статус:
    Оффлайн
    Регистрация:
    15.01.12
    Сообщения:
    1.627
    Репутация:
    695 +/-
  3. akdes

    akdes

    Статус:
    Оффлайн
    Регистрация:
    08.04.12
    Сообщения:
    29
    Репутация:
    18 +/-
    Всё. Разобрался!
    Можно закрыть!