首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家来帮小弟我看看这段程序的有关问题

2012-04-14 
大家来帮我看看这段程序的问题 #includeiostream#includeiomanipusingnamespacestdconstintMax200v

大家来帮我看看这段程序的问题

#include   <iostream>
#include   <iomanip>
using   namespace   std;
const   int   Max   =   200;
void   strReverse(char*   str,char   *strRes)
{
char   *stack[Max];
char   *tem;
int   index   =   0;
int   m   =   0;

for(int   i   =   0;i   <=strlen(str);i++)
{
if(str[i]   ==   '   '   ||   i   ==   0)
{

tem   =   new   char[i   -   index   +   1];  
strncpy(tem,str+index,i-index);
tem[i-index   +1]   =   '\0 ';
index   =   i;
stack[m]   =   tem;
m++;
}


}
for(int   j   =   m;j> 0;j--)
{

strcat(strRes,stack[j]);
}


}
int   main()
{

        char   *str   =   "I   am   a   student ";
        char   ret[50];
        strReverse(str,ret);

        system( "pause ");
        return   0;
}

[解决办法]
char *str = "I am a student ";

永远不要写这样的句子
因为str指向的是常量字符串, 常量字符串是不允许修改的

解决方法之一是:
char str[] = "I am a student ";

热点排行