Проблема с указателями C

Вот в чем дело. У меня большой массив символов, и я пытаюсь им управлять. Вот код, который я использовал для проверки идеи:

#include <stdio.h>

char r[65536],*e=r;

main() {
    e+=8;
    while(*e) {
        *e+=1;
        e+=5;
        *e-=1;
        e-=1;
    }
    *e+=1;
    printf("%i",*e);
    printf(" %c",e);
}

Он должен делать следующее:

  1. Установить первый элемент на 8
  2. Затем, пока текущий элемент не равен нулю,
    1. Перейти к следующей ячейке
    2. Добавить к ней 5
    3. Перейти назад
    4. Вычесть единицу. (Это повторяется 8 раз, потому что тест while завершится неудачно, когда он вычитает последний)
  3. Отображение местоположения указателя
  4. Отображение содержимого массива, на который указывает указатель (я надеюсь)

What он выполняет:

1 Φ

в отличие от

40 (   

^^ 8 x 5 = 40, так что это то, что он должен отображать.

Любые советы / предложения / критика принимаются.

11
задан itdoesntwork 9 November 2013 в 23:41
поделиться