注册 登录
编程论坛 C语言论坛

请大家看一下strlen在DEV-c++中运行不出来,怎么回事

机器人1号 发布于 2021-05-27 00:19, 3042 次点击
#include <stdio.h>

int main()
{
    char a[] = "helloworld";
   
    printf("%d\n", strlen(a));

    return 0;
 }

运行时系统就说没有定义,有点不太理解。

运行时系统显示的提示信息:

7    25    E:\C语言代码练习DVE C++\练习01.cpp    [Error] 'strlen' was not declared in this scope

求指点
5 回复
#2
zbjzbj2021-05-27 01:07
你用到了strlen这个函数,这个函数的定义在string.h中,包含这个头文件就行。
#3
机器人1号2021-05-27 09:19
行的,谢谢啦
#4
rjsp2021-05-27 09:39
另外,strlen 的返回值类型是 size_t,不是 int,所以应该用 %zu,而不是 %d
#5
lin51616782021-05-27 09:56
另一点容易忽略的
注意写C代码源文件文件名后缀应该 .c 不要使用 .cpp
如果你的老师说 用.cpp也无所谓
请加强自习
听越少 学越好
#6
我善治鬼2021-05-27 16:07
你也可以重写strlen这个函数, 速度比官方快一点, 而且更安全
程序代码:

int strlen(char *str) {
    if (!str) return 0;
    int sum = 0;
    while(str[sum]) sum++;
    return sum;
}

1