2.设k为记录字符串长度的变量,初值为0。用for循环实现,当循环开始时,指针p指向字符串中的第一个字符,判断该字符是否为'\0' (字符串结束标志),如果不是则k++,p++(p指向下一个字符)。如果该字符为'\0',则循环结束,输出k值c语言
时间: 2024-02-11 12:05:48 浏览: 45
小贴士:关于\0字符串结束标志
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
char str[100];
printf("Please enter a string: ");
scanf("%s", str);
int k = 0;
char *p = str;
for (; *p != '\0'; p++) {
k++;
}
printf("The length of the string is %d\n", k);
return 0;
}
```
首先,程序从终端读入一个字符串,存储在名为 `str` 的字符数组中。然后,定义一个整型变量 `k`,初值为 0,以及一个字符指针 `p`,指向 `str` 数组的第一个元素。
进入 `for` 循环,每次循环先判断当前指向的字符是否为字符串结束标志 `'\0'`,如果不是,则让 `k` 自增 1,指针 `p` 向后移动一个字符位置。循环结束后,输出 `k` 的值,即为字符串的长度。
需要注意的是,字符数组 `str` 的长度必须足够大,以容纳从终端输入的任何字符串。在这个例子中,我们假设输入的字符串长度不超过 100 个字符。如果输入的字符串长度超过了数组的大小,会导致程序出现不可预知的错误。
阅读全文