В следующей части кода строки подкачкиРеверсивный строки в C++
end = &str[len - 1];
Я не понимая адресацию часть. Когда я делаю это без части адресации, он все еще работает, но дает мне предупреждение, что «значения типа char не могут быть присвоены идентификатору типа char». Вот полный код:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[] = "This is a test";
char *start, *end;
int len;
int t;
cout << "Original " << str << "\n";
len = strlen(str);
start = str;
end = str[len - 1];
//this reverses the string
while (start < end) {
t = *start;
*start = *end;
*end = t;
start++;
end--;
}
cout << "Reversed" << str << "\n";
system("PAUSE");
return 0;
}
* "Реверсивная строка в ** C++ **" * не понравится, пожалуйста. Не так. Я уважаю программистов C и C, и что им принадлежит, им дается. У вас есть выделенный тип для строк, у вас есть алгоритмы, у вас есть 'swap' ... C++ - это не только' cout'. Извините, жалуюсь, но я чувствую себя опечаленным. – luk32
Я работаю над примерами через учебник. – Jeff
Я бы красным обозначил это. Шутки в сторону. Я считаю это вредным. Он учит вас устаревшим вещам. У вас никогда не было бы такой проблемы в правильной программе на C++ ... или это книга C? Это выглядит как C-код с 'cout'. Вот как программисты C использовали для обучения C++ 15-20 лет назад. По крайней мере, это мой опыт. – luk32