重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
字符串不能这样赋值
专注于为中小企业提供网站设计制作、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业荔波免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
*str其实和str[0]是等效的
另外str是数组,所以这个指针是常量,所以也不能使用类似str="asdf";的方式进行赋值。
你可以用string.h中的strcpy()函数,该函数会自动添加\0
#includestdio.h
main()
{
char str[40];
strcpy(str,"aldkjflakdsjfalkfj");
puts(str);
}
//
string[500]="abcdefg";
//是将字符串"abcdef"赋值给字符数组中string[500]这个元素,先不说string[500]已经越界了.
单单是string[500]只能存放一个字符,但你这里却要将一串字符串赋值给他.当然会错误.
像你说的在定义时初始化是对的.
如果定义后要进行赋值.就用string.h中的strcpy()函数,将"abcdefg"复制到字符串string中.
代码如下:
#include
stdio.h
#include
string.h
int
main()
{
char
string[500];
//
string[500]="abcdefg";
strcpy(string,"abcdefg");
//将字符串常量赋值给字符数组
return
0;
}
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。
3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。
在C语言中,字符串是以字符数组形式存储的,并约定以\0作为结束符。所以字符串赋值不能直接用=赋值,而是要用专门的函数进行复制,在C语言中,这个函数为strcpy。
1
函数名
:
strcpy
2
形式:
char
*
strcpy(char
*dst,
const
char
*src);
3
头文件:
string.h
4
功能:
将src中的字符串复制到dst中,并返回dst的首地址。
5
示例:
char
buf[100],
buf1[100];
strcpy(buf,
"test");//
将字符串test赋值到buf。
strcpy(buf1,
buf);
//将字符串buf的值,赋值给buf1.