正确的字符串赋值或赋初值的选项是 C char str[20]; str= "winter"; char str[20]={w', T,'n', 't','e','r'}; ( char str[]={'w,T, 'n', 't', 'e','r'}; ( char str[2] = "winter";
时间: 2023-12-25 17:06:52 浏览: 47
正确的字符串赋值或赋初值的选项是:
```c
char str[20] = "winter";
```
或者
```c
char str[20] = {'w', 'i', 'n', 't', 'e', 'r', '\0'};
```
第一个赋值语句会在字符数组 `str` 的末尾自动添加一个空字符 '\0',表示字符串的结束标志。而第二个赋值语句需要显式地添加一个空字符 '\0' 来表示字符串的结束标志。
其他选项存在语法错误或数组越界的问题,应该避免使用。
相关问题
char str[5]="good!"为什么不能进行字符串赋初值
这个回答有误,请忽略。
选项A中的char str[5]="good!";可以进行字符串赋初值,其含义是定义了一个长度为5的字符数组str,并将“good!”这个字符串赋值给了这个数组,注意:字符串末尾还有一个'\0'的结束符,因此数组大小要比字符串长度多1。
选项B中的char str[]="good!";同样可以进行字符串赋初值,它的含义是定义了一个字符数组str,并将“good!”这个字符串赋值给了这个数组,由于数组的大小没有指定,编译器会根据字符串的长度自动计算数组的大小,同样也会在末尾自动添加'\0'的结束符。
因此,选项A和B都是可以进行字符串的赋初值的。
char str[20]类型的字符串怎么重新赋值
对于类型为`char str[20]`的字符串数组,可以使用以下两种方法重新赋值:
1. 使用strcpy()函数
```c++
char str[20] = "Hello";
strcpy(str, "World");
```
2. 逐个字符赋值
```c++
char str[20] = "Hello";
for(int i=0; i<5; i++){
str[i] = 'W';
}
str[5] = '\0'; // 需要手动在最后添加字符串结尾符号
```
需要注意的是,在使用strcpy()函数时,需要保证目标字符串数组有足够的空间来存储源字符串。在逐个字符赋值时,需要手动在最后添加字符串结尾符号`\0`,否则该字符串数组不会正确被识别为字符串。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)