Здравствуйте, Andruxa-1, Вы писали:
A1>Добрый день! Накропал простенькую ф-цию — реверс. Ф-ция не работает — не меняет местами элементы.
A1>В отладке выдает унайбл экцепишн. Компилятор 6 студия.
A1>Кривые руки?
A1>A1>#include "stdafx.h"
A1>#include "iostream.h"
A1>#include "string.h"
A1>void reverse(char *str, int count = 0)
A1>{
A1> char tch;
A1> if(!count)
A1> count = strlen(str) - 1;
A1> for(int i = 0, j = count; i < count; i++, j--)
A1> {
A1> tch = str[i];
A1> str[i] = str[j]; //Не меняет местами
A1> str[j] = tch;
A1> }
A1>}
A1>int main(int argc, char* argv[])
A1>{
A1> char *str = "1234567890";
A1> reverse(str, 5);
A1> reverse(str);
A1> cout << str;
A1> return 0;
A1>}
A1>
Хмм, ну ты вроде два раза меняешь местами элементы, по этому и кажется, что они не поменялись местами
Цикл должен идти до половины массива.