Форум программистов, компьютерный форум CyberForum.ru

присваивание char - где тут может быть ошибка? - C++

Восстановить пароль Регистрация
 
_Ант_
 Аватар для _Ант_
-113 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 30
27.02.2013, 03:27     присваивание char - где тут может быть ошибка? #1
Есть простая функция, обратную строку должна выдавать, а вместо этого передает "необработаное исключение"
проблема в
C++
1
2
        s[i] = s[strlen(s)-i-1];
        s[strlen(s)-i-1] = temp;
Но ведь насколько я знаю так МОЖНО писать, разве нет??
Очень нужна помощь!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* reverse(char* s){
    char temp;
    int len=strlen(s)/2;
    cout<<s[strlen(s)-1];
    for (int i=0;i<len;i++){
        temp = s[i];
        s[i] = s[strlen(s)-i-1];
        s[strlen(s)-i-1] = temp;
    }
    cout<<s<<endl;
    return s;
}
Добавлено через 12 минут
Сам отвечу на свой вопрос - может ктото рейтинг добавит..))

В программе было написано
C++
1
char *s = "abcdef";
и , насколько я понял, если строка задана через указатель, то мы не можем писать что-либо на подобие такого:
C++
1
s[i] = s[strlen(s)-i-1];
Правильно было задать в программе char s[] = "abcdef";

спасибо мне за помощь)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 03:27     присваивание char - где тут может быть ошибка?
Посмотрите здесь:

C++ Подскажите где в программе может быть ошибка
C++ Где тут ошибка, подскажите плз!
Где тут ошибка? C++
Где может быть ошибка? C++
C++ где может быть ошибка на с++
C++ Где тут ошибка? Программа сортировки массива по возрастанию
C++ Где тут ошибка то?
C++ Где может быть использована сигнатура int& foo()=7

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.02.2013, 03:48     присваивание char - где тут может быть ошибка? #2
Цитата Сообщение от _Ант_ Посмотреть сообщение
насколько я понял, если строка задана через указатель, то мы не можем писать что-либо на подобие такого
константный строковый литерал.
Его изменение есть UB
Yandex
Объявления
27.02.2013, 03:48     присваивание char - где тут может быть ошибка?
Ответ Создать тему
Опции темы

Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru