C++高手帮我看看下面的程序怎么会报错啊!
#include <stdio.h>
#include <string.h>
#define ELBA "Able was I ere I saw Elba"
int main ()
{
char *pszElba = ELBA;
char ch;
int x = 0;
int max = strlen (pszElba);
printf ("%s\n", pszElba);
while (x < max / 2)
{
ch = pszElba[x];
pszElba[x] = pszElba[max - x - 1]; //在这里报错了
pszElba[max - x - 1] = ch;
++x;
}
printf ("%s\n", pszElba);
return (0);
}