2 qq 18952005 qq_18952005 于 2016.03.03 19:59 提问

使用strcpy拷贝后,打印src数组是空的

源码:
1 #include
2 #include
3
4 using namespace std;
5
6 int main(int argc, char *argv[])
7 {
8 char src[6] = "hello";
9 char dest[5];
10 strcpy(dest,src);
11 cout<<"dest= "<<dest<<endl;
12 cout<<"src= "<<src<<endl;
13 }

运行结果:

~ dest= hello
src=
谁能告诉我,为什么src没有内容输出???

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.03 21:03

我这里的运行结果
dest= hello
src= hello
Press any key to continue

caozhy
caozhy   Ds   Rxr 2016.03.03 21:05

不但我的VC++如此,在线的gcc的输出也如此
http://codepad.org/GdcdGNe4
dest= hello
src= hello

caozhy
caozhy   Ds   Rxr 2016.03.03 21:05

但是注意,这其实造成缓冲区的溢出了。

haoxin1210
haoxin1210   2016.03.03 21:58

数组长度声明不够,缓冲区溢出

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!