len=strlen(str);i=0;j=len-1
时间: 2023-08-06 08:10:33 浏览: 87
这是一段 C 语言的代码,主要实现了获取字符串长度并将字符串反转的功能。
- `strlen(str)` 返回字符串 `str` 的长度,不包括字符串末尾的空字符 '\0'。
- `len=strlen(str)` 将字符串长度赋值给变量 `len`。
- `i=0` 初始化变量 `i`,表示字符串的起始位置。
- `j=len-1` 初始化变量 `j`,表示字符串的末尾位置。
接下来可以使用循环语句将字符串反转,如下所示:
```c
while (i<j)
{
char temp=str[i];
str[i]=str[j];
str[j]=temp;
i++;
j--;
}
```
这个循环会不断交换字符串的第 `i` 个字符和第 `j` 个字符,直到 `i` 大于等于 `j`。这样就可以将字符串反转了。
相关问题
int len=strlen(str)是什么意思
这行代码是用来获取字符串 `str` 的长度,并将其保存在整型变量 `len` 中。
在C语言中,`strlen()` 是一个库函数,用于计算以空字符 `\0` 结尾的字符串的长度。它接受一个字符串作为参数,并返回该字符串的长度,即字符的数量(不包括空字符 `\0`)。
因此,`int len = strlen(str)` 表示将字符串 `str` 的长度赋值给整型变量 `len`。这样,`len` 将保存字符串 `str` 中的字符数量。注意,`len` 的类型必须是 `int` 或者更大的整数类型来容纳可能的字符串长度。
请注意,`strlen()` 函数在计算长度时会遍历整个字符串,直到遇到空字符 `\0`。因此,如果字符串很长,这个操作可能会比较耗时。如果不需要频繁获取字符串的长度,可以考虑将结果保存在变量中以提高效率。
为什么无输出结果int fun(const char *str) { int i,j; int count; int len; j=0; count=0; len=strlen(str); for(i=0;i<len-1;i++) { if(str[i]==str[i+1]) { j++; } for(i=0;j>0;j--) {
这段代码存在两个问题,导致无输出结果:
1. 在第一个 for 循环中,i 的范围是 0 到 len-2,但是在内部的第二个 for 循环中,又重新将 i 赋值为 0,这样就会导致第一个 for 循环中的 i 无法正常遍历整个字符串,而且第二个 for 循环也会一直执行,导致程序无法结束。
2. 第二个 for 循环中没有任何代码,所以即使能正常执行,也不会有任何输出结果。
因此,建议修改代码如下:
```
int fun(const char *str) {
int i,j;
int count;
int len;
j=0;
count=0;
len=strlen(str);
for(i=0;i<len-1;i++)
{
if(str[i]==str[i+1])
{
j++;
}
}
for(i=0;j>0;j--)
{
count++;
}
return count;
}
```
这样就可以正常输出重复字符的个数了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)