首页 > 试题广场 >

以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(

[单选题]
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )
  • char s[10]="abcdefg";
  • char t[]="abcdefg",*s=t;
  • char s[10];s="abcdefg";
  • char s[10];strcpy(s,"abcdefg");
数组名s是常量指针,代表数组的首地址,它的值不能被改变。
发表于 2017-08-29 20:57:05 回复(4)
s表示字符串首地址,所以不能被赋值iiiiiiiiiiiiiii
发表于 2019-05-28 13:01:51 回复(0)
数组名是一个指针常量,char *const s,指针的指向是不可以修改的,指针指向的内容是可以修改的。字符串"abcdefg"代表一个地址,不能改变一个指针的指向,所以c选项错误。
发表于 2022-03-16 11:13:53 回复(1)
s是数组首地址,不能把字符串的地址赋值给s,s不能被改变。 如若赋值成功,则s被改变,原来的数组就无法通过某个值访问了。
发表于 2019-05-23 01:38:13 回复(0)
s退化为指针 char*类型,右边是字符串数组 char [],类型不匹配。
发表于 2017-10-08 16:31:57 回复(2)
对数组名赋值操作的,不用想都是错的~
发表于 2021-06-19 08:58:15 回复(0)

c语言strcpy()用法

strcpy,即string copy(字符串复制)的缩写。
strcpy是一种C语言的标准库函数,strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。

发表于 2023-04-13 17:47:53 回复(0)
数组名s是常量指针,代表数组的首地址,它的值不能被改变。
发表于 2021-09-25 08:54:02 回复(0)
数组名s是指针,不能被赋值
发表于 2019-10-10 14:37:30 回复(0)
数组名是常量指针,代表数组的首地址,它的值不能被改变
发表于 2023-09-10 09:35:22 回复(0)
char s[10],在内存中申请空间,这块空间可读可写,s为指向这块空间的常量指针,即s指向的地址是不可以改变的。然后"abcdefg",属于字符串常量,属于只读空间,所以无法赋值成功。ABD都是将字符串常量直接拷贝到声明的可读可写的空间中去,C是修改常量指针的指向,不符合语法。
发表于 2023-03-01 20:47:43 回复(0)
数组名s是常量指针,代表数组的首地址,它的值不能被改变
发表于 2023-02-13 13:22:01 回复(0)
赋值a=b,左值必须是变量,C错
发表于 2022-03-03 10:25:42 回复(0)
B 没有问题吗? *s有定义吗?
发表于 2021-04-19 20:17:46 回复(1)
数组只有在定义的时候可以进行直接赋值,否则要进行逐个赋值。
发表于 2021-04-07 09:07:31 回复(0)
<p>B为什么是对的</p>
发表于 2021-01-19 15:37:21 回复(0)