+ -
当前位置:首页 → 问答吧 → 怎么将一个字符串指针赋值给一个字符数组!

怎么将一个字符串指针赋值给一个字符数组!

时间:2011-12-08

来源:互联网



比如 char *p="sdflkjasljfsjlsdfsa";

  char p1[200];
  
怎么将p赋值给p1,不要用循环赋值!

作者: qweewqpkn   发布时间: 2011-12-08

因为数组名本质上并不是指针变量,所以办不到

作者: lhcwjy   发布时间: 2011-12-08

strcpy(p1,p);

作者: keiy   发布时间: 2011-12-08

char *src="helloworld";
  char des[100]={0};
  memcpy(des,src,strlen(src)+1);

作者: sryan   发布时间: 2011-12-08

引用 2 楼 keiy 的回复:

strcpy(p1,p);


哈哈,strcpy函数里边本质上还是利用了循环...

LZ出这种题,挺有特色的吗...溜...

作者: duke56   发布时间: 2011-12-08

strcpy
memcpy用这些函数吧
数组名在等号左边不能自动转换为指针,这种时候是不能给改变的。

作者: liux0614   发布时间: 2011-12-08

2楼正解啊

作者: mingliang1212   发布时间: 2011-12-08

引用 2 楼 keiy 的回复:

strcpy(p1,p);
用循环也可以:
for(int i=0;*(p+i)!='\0';i++)
{
  p1[i]=*(p+i);
}

作者: qwer_boo   发布时间: 2011-12-08

数组名和函数名貌似都是指针常量,没有办法修改,也就不能赋值了吧

作者: quan958201599   发布时间: 2011-12-08

2楼和3楼的都可以啊 ,你们说什么不能改变左值,NONO!

作者: qweewqpkn   发布时间: 2011-12-08

引用 9 楼 qweewqpkn 的回复:
2楼和3楼的都可以啊 ,你们说什么不能改变左值,NONO!


那请问二楼三楼左值修改了?奇怪

作者: quan958201599   发布时间: 2011-12-08

热门下载

更多