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

将字符串t复制到字符串s中,为什么这个程序不对?该怎么处理

2012-03-05 
将字符串t复制到字符串s中,为什么这个程序不对?#includeiostream.hvoidfff(char*s,char*u){while(*s++*

将字符串t复制到字符串s中,为什么这个程序不对?
#include   <iostream.h>

void   fff(char   *s,   char   *u)
{
while(*s++   =   *u++)
;
cout   < <s;
}


void   main()
{
char   *s   =   " ";
char   *u   =   "aa ";

fff(s,u);
}

这个程序在编译和连接时都没有错,可是最后总会跳出一个错误对话框,为什么???

[解决办法]
首先,s和u都是指向一个常量字符串,所以不能通过s和u修改字符,其次u的字符串长度比s字符串长度长,拷贝会越界
你应该这样定义
char s[3] = " ";
char u[] = "aa ";
fff(s, u);
[解决办法]
初始时s指向的是常量字符串,是不可以修改的。
可以将
char *s= " ";
换成
char s[100];

热点排行