John Prick писал(а):Да и в принципе unsigned char это числовой тип, а символьный именно char. Т.е. строку обьявить надо char string1[] = "cъешь еще этих";
И ещё подумалось, а какой размер стека выделяет этот компилятор для функции? Может, в этом проблема?
Евгений, я понимаю, что в данном случае main не возвращает управление, но правила выделения памяти для локальных переменных никуда не исчезают. Переменная, объявленная внутри функции, является
автоматической, и компилятор может разместить ее даже в регистрах общего назначения, он - машина, ему пофиг, что это строка ))) Здесь такое вряд ли, но возможны другие варианты. Чтобы выяснить, нужна инфа по настройкам памяти, включена или нет оптимизация, а наш юный друг не ответил даже, что за компилятор он использует. С объявлением строк внутри функций чудеса бывают у IAR, например.
Универсальный метод - указать, что строка имеет неизменный адрес.