6、有如下定义CHAR str1[100] = "12345"; CHAR str2[100] = "12345"; 那么sizeof(str1)、strlen(strcat(str1,str2))和sizeof(strcat(str1,str2))分别等于【 】、【 】和【 】
时间: 2024-03-25 12:38:05 浏览: 29
根据题目中的定义:
```c
char str1[100] = "12345";
char str2[100] = "12345";
```
可以知道,`str1` 和 `str2` 分别是长度为 6 的字符串,其中包括 5 个字符和一个结尾的空字符(`'\0'`)。因此,`sizeof(str1)` 的值为 100,即字符数组 `str1` 的长度为 100 个字节。
调用 `strcat(str1, str2)` 函数将字符串 `str2` 拼接到字符串 `str1` 的末尾。由于 `str1` 的长度为 6,再加上 `str2` 的长度也是 6,因此 `strcat` 函数执行后,`str1` 的长度变为 12(包括两个结尾的空字符)。又因为 `strcat` 函数返回的是指向目标字符串的指针,因此调用 `strlen` 函数计算拼接后的字符串长度,即 `strlen(strcat(str1, str2))` 的值为 12。
最后,`sizeof(strcat(str1, str2))` 的值为 100,即字符数组 `strcat(str1, str2)` 的长度为 100 个字节。这是因为在调用 `strcat` 函数后,`str1` 变为了长度为 12 的字符串,但是字符数组 `strcat(str1, str2)` 的大小仍然是 100,这是在定义时分配的内存大小。同时,由于 `strcat` 函数返回的是指向目标字符串的指针,所以 `sizeof(strcat(str1, str2))` 仍然是字符数组的大小。
相关问题
Void func(char str[100]){ Sizeof(str) = ?
函数参数中的字符数组 `str` 的大小是固定为 100。然而,在函数内部使用 `sizeof` 运算符获取数组大小时,它返回的是整个数组的字节大小,而不是字符串的长度。因此,`sizeof(str)` 的结果将是 `100 * sizeof(char)`,其中 `sizeof(char)` 取决于编译器,通常为 1 字节。所以,`sizeof(str)` 的结果将是 100 字节。
void Func ( char str[100]) { sizeof( str ) = }
在函数内部,使用 sizeof(str) 会返回数组指针的大小,而不是数组的大小。因为在函数参数中,数组名被转换为指向数组首元素的指针,所以 sizeof(str) 就等同于 sizeof(char*),即指针的大小。如果要获取数组的大小,可以使用 strlen(str) 或者 sizeof(str)/sizeof(str[0])。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)