C++高手帮小弟我看看下面的程序如何会报错啊
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);
}
------解决方案--------------------
这是个常量字符串,只读。
------解决方案--------------------
char *pszElba = ELBA;
修改为
char pszElba[] = ELBA;
------解决方案--------------------
#include <stdio.h>
#include <string.h>
//#define ELBA "Able was I ere I saw Elba "
int main ()
{
char pszElba[] = "Able was I ere I saw 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);
}
------解决方案--------------------
char pszElba[] = ELBA;
------解决方案--------------------
char pszElba[MAX_PATH] = ELBA;
------解决方案--------------------
ugg(逸学堂(exuetang.net)) 正解
#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);
}
------解决方案--------------------
这是个常量字符串,只读。
------解决方案--------------------
char *pszElba = ELBA;
修改为
char pszElba[] = ELBA;
------解决方案--------------------
#include <stdio.h>
#include <string.h>
//#define ELBA "Able was I ere I saw Elba "
int main ()
{
char pszElba[] = "Able was I ere I saw 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);
}
------解决方案--------------------
char pszElba[] = ELBA;
------解决方案--------------------
char pszElba[MAX_PATH] = ELBA;
------解决方案--------------------
ugg(逸学堂(exuetang.net)) 正解