请教一个问题
soulz 2003-10-20 10:31:37 一个例子,本来是想保持str不变的,但是发现调用cop函数之后,str也发生了变化。而且输出显示两次分配的str3[81]的地址是一样的,为什么?又如何实现我本来想实现的功能呢?即按照例子应该输出dddd\ndddd\ncccc\ndddd\n
# include<iostream.h>
# include <string.h>
char *str;
void copy( char *string )
{
char str3[81];
cout<<&str3<<endl;
strcpy( str3,string );
str = str3;
cout<<str3<<endl;
cout<<str<<endl;
}
void cop( char *string )
{
char str3[81];
cout<<&str3<<endl;
strcpy( str3,string );
cout<<str3<<endl;
cout<<str<<endl;
}
void main()
{
char *str1 = "dddd";
copy( str1 );
str1 = "cccc";
cop( str1 );
}