linux下C语言编程关于strlen输出的问题

linxu下C语言编程关于strlen输出的问题

#include <stdio.h>
#include <string.h>
void main()
{
char c[]=“abc”;
printf("%d",strlen©);
}
我第一次这样输出是会报编译错误:
test1.c:54:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wformat=]

#include <stdio.h>
#include <string.h>
void main()
{
char c[]=“abc”;
int a;
a=strlen©;
printf("%d",a);
}
第二次修改后错误消失,因为中间手动进行了int类型的转换

#include <stdio.h>
#include <string.h>
void main()
{
char c[]=“abc”;
printf("%ld",strlen©);
}
第三次我改了printf中输出的类型为ld
查阅相关资料后了解了可能是strlen返回值的问题,strlen返回值与printf不匹配,与不同的编译器也相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值