首页 > 试题广场 >

不能将字符串 "Good!" 存放到数组 s 中的代码是(

[单选题]
不能将字符串 "Good!" 存放到数组 s 中的代码是(   )
  • char s[8] = {'G','o','o','d','!', '\0'};
  • char s[8];
    strcpy(s, "Good!");
  • char s[8];
    s = "Good!";
  • char s[8] = "Good!";
s是个数组名,是常量,不可以被赋值,正确的写法应该是
char *s;s="good!";
定义一个字符指针,然后让这个指针指向常量字符串"good!";
char s[8]="good!"; //"good!"有6个字符,需要注意s的空间够不够,不够的话会越界.
发表于 2017-12-11 11:28:58 回复(3)
C选项 中 s是数组名不能做左值,故 s = "Good"这样是错误的。

发表于 2017-08-30 09:15:31 回复(2)
“不能所字符串” 哈哈哈
发表于 2017-10-25 19:41:18 回复(1)
C选项s为字符数组的首地址
发表于 2017-06-03 17:21:24 回复(1)
C选项,数组名是指向一维数组第一个元素的指针,若操作使得其本身发生了变化(比如自增或者说是改变其指向),改变了原来的定义,严格意义上说这是不被允许的,即数组名不能做左值,故 s = "Good" 错误。可以写成字符指针的形式,即 char *s; s = "Good!" 则使 s 指向了字符串字面量的第一个字符

ABD都是C语言中可行的方式
编辑于 2018-11-28 21:07:40 回复(0)
C选项: s不是指针,它指的是字符串的首地址。不能做右值。
发表于 2017-06-19 08:58:03 回复(1)
对于数组来说,数组的名字,等价于数组的收地址,
地址是一个具体的数,是不能作左值被赋值的;
选项想要表达的意思:
定义一个字符指针,然后将指针指向字符串“Good!”;
正确的表示:
char *s//被定义的指针变量
s="good!";
或者:char *s="good!"
发表于 2018-04-16 15:13:27 回复(0)
C语言的,java都不对!
发表于 2018-01-03 10:58:56 回复(1)
这题不太严谨呀,都没说是什么语言。不过既然strcpy都出现了,看来是C语言无疑了
发表于 2021-01-19 09:28:50 回复(0)

数组名可以当指针用,但他指向的是数组的首地址。

需要定义一个指针,指向一片地址空间。

发表于 2019-11-23 13:50:15 回复(0)
C选项,数组名是指向一维数组第一个元素的指针,若操作使得其本身发生了变化(比如自增或者说是改变其指向),改变了原来的定义,严格意义上说这是不被允许的,即数组名不能做左值,故 s = "Good" 错误。可以写成字符指针的形式,即 char *s; s = "Good!" 则使 s 指向了字符串字面量的第一个字符 ABD都是C语言中可行的方式
发表于 2020-10-17 01:09:40 回复(0)
数组名是指针常量
发表于 2023-03-24 17:31:46 回复(0)
链接:https://www.nowcoder.com/questionTerminal/1cb1e776788c41a7a433987f76b1e4ca
来源:牛客网

int main(){
    char s1[8]={'G','o','o','d','!','\0'};
    cout<<s1;   //Good!
    
    char s2[8];
    strcpy(s2,"Good!!");
    cout<<s2;    //Good!!
    
    char s3[8]="good!!!";
    cout<<s3;     //good!!!
    
    char *s4;
    s4="good!!!!";
    cout<<s4;     //good!!!!  
}
发表于 2023-02-23 18:31:24 回复(0)
0表示整数,'0'表示0字符,'\0'表示ASCII码值为0的字符
发表于 2022-07-18 17:05:39 回复(0)
s[8] 可指长为8的char[] 也可指第9号元素
发表于 2022-04-10 20:04:24 回复(0)
永远做不对这类题
发表于 2020-11-10 09:08:01 回复(0)
马克
发表于 2018-11-10 22:21:14 回复(0)
这是道C语言题啊
发表于 2018-08-06 22:29:26 回复(0)