Code: Select all
void reverse(char* str, int start, int end)
{
if(end >= strlen(str))
end = strlen(str)-1;
for(int i=start; i<(start+end)/2; i++)
{
char buf = str[i];
int endIndex = end-i;
str[i] = str[endIndex]; // <--- runtime error!
str[endIndex] = buf;
}
}
первый параметр (str) в вызывающем коде объявлен вот так:
char* str = "one two three";
То есть никакой это не const.