输入一个字符串,设计函数计算其有效长度,最终输出字符串长度及该字符串内容。不要使用系统提供的strlen函数。 输入要求 输入一个字符串,以换行符结束。字符串长度不超过100。 输出要求 输出有效长度及字符串内容。 输入样例 world 输出样例 5 world 模板 #include<stdio.h> @-@ //设计求字符串长度的函数 int main() { char str[101]; int len=0; gets(str); len=mylen(str); //调用函数求字符串长度 printf("%d ",len); printf("%s\n",str); return 0; }c语言指针
时间: 2024-01-11 09:05:29 浏览: 22
C语言中,指针是一种非常重要的数据类型。它表示一个内存地址,可以用来访问该地址中存储的数据。指针变量有自己的类型,它的类型决定了指针可以指向的数据类型。指针变量的声明语法如下:
```c
type *ptr;
```
其中,`type`是指针变量可以指向的数据类型,例如`int`、`float`、`char`等等。`*`表示这是一个指针变量,`ptr`是指针变量的名称。
指针变量可以用来存储地址,也可以用来访问该地址中存储的数据。访问指针所指向的数据,需要使用`*`运算符。例如,如果`p`是一个指向`int`类型的指针变量,则可以使用`*p`来访问该地址中存储的`int`类型的数据。
指针变量还可以进行运算。指针加上一个整数表示向前移动若干个单位,指针减去一个整数表示向后移动若干个单位。例如,如果`p`是一个指向`int`类型的指针变量,则可以使用`p + 1`来访问下一个`int`类型的数据。指针变量还可以比较大小,如果两个指针变量指向的地址相同,则它们相等,否则它们的大小关系由它们所指向的地址的大小关系决定。
指针变量的使用需要非常小心,否则容易出现指针越界、空指针、野指针等问题。建议在使用指针变量时,要注意以下几点:
1. 初始化指针变量。在使用指针变量之前,一定要将它初始化为一个合法的地址。否则,指针变量可能会指向一个未知的地址,从而导致程序崩溃。
2. 避免指针越界。在访问通过指针访问数组元素时,一定要确保指针的范围在数组的合法范围内,否则会导致访问越界,从而导致程序崩溃。
3. 避免空指针和野指针。空指针是指未初始化的指针变量,野指针是指指向未知地址的指针变量。在使用指针变量时,一定要注意避免空指针和野指针。
下面是一个使用指针变量计算字符串长度的示例:
```c
#include <stdio.h>
int mylen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[101];
int len = 0;
fgets(str, 101, stdin);
len = mylen(str);
printf("%d ", len);
printf("%s", str);
return 0;
}
```
在`mylen`函数中,我们使用指针变量`str`来遍历字符串,并计算字符串长度。指针变量`str`指向字符串的第一个字符,每次通过`str++`来将指针指向下一个字符,直到遇到字符串末尾的空字符为止。注意,在`mylen`函数中,我们不需要使用`[]`运算符来访问字符串中的字符,而是使用`*`运算符来访问指针指向的字符。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)