c - 查找字符串的长度

标签 c string

  1. 我已经编写了一个字符串长度的代码。
  2. 编译成功,但存在一些问题 输出。
  3. 输入字符串后,我的输出卡住了。
  4. 我必须使用指针找到长度
#include<stdio.h>
int leng(char*);
void main()
{
    char str[20];
    scanf("%s",str);
    printf("%s",str);
    int l;
    l=leng(str);
    printf("%d",l);
}

int leng(char*p)
{
    int l=0;
    while(*p!='\0')
    {
        l++;
    }
    return l;
}

最佳答案

在您的代码中,问题就在这里

while(*p!='\0')

此处指针*p不会递增。因此,while 循环无限工作,可能会导致程序崩溃。

所以,使用

while(*p++!='\0')

而不是

while(*p!='\0')

关于c - 查找字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47110962/

相关文章:

ruby - 如何检测另一个字符串中 1 个字符串中是否存在子字符串?

c - 使用 Windows slim 读/写锁

c - 返回局部变量的返回地址时出现段错误(核心转储)

java - 将字符串用户输入转换为数组

c - 如何在 C 文件中同一行中的字符串后打印一些内容?

java - 在 java 中,String 是一个类,那么它是如何限制大小分配的

c++ - 了解 C/C++ 中的指针

c++ - 在 C 程序中添加 C++ 代码 - 预期 ‘,’ 或 ‘...’ 之前的 ‘this’

c - 如何将运行时错误重定向到 STDERR?

Java:合并 2 个列表 <String[]>