C语言多种获取字符串长度的方法
作者:小果沐雨 发布时间:2021-07-01 16:30:29
标签:C语言,字符串,长度
在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍
一、使用sizeof()运算符
在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。
基本用法:
int i=10;
sizeof(i);//表达式
char str[]="hello world";
sizeof(str);
sizeof(double);//数据类型
在使用sizeof()求字符串长度时,会将 ‘\0' 也计算到字符串长度中。例如"abcd"用sizeof()求长度会计算得到5。
注意:char str[100]=""; sizeof(str)的值是100。
二、使用strlen函数
在string.h中提供了计算字符串长度的函数。
语法:
size_t strlen(const char *str);
在使用strlen函数时,需要添加string.h头文件,该函数会将字符串长度计算出,不包含 ‘\0'。
三、编写函数
如果不想使用sizeof()和strlen(),可以利用循环来判断字符串的长度。
int get_length(char str[])
{
char *p = str;
int count = 0;
while (*p++ != '\0')
{
count++;
}
return count;
}
该函数通过传入一个字符串,返回一个长度数值。
测试代码:
#include <stdio.h>
#include <string.h>
int get_length(char str[])
{
char *p = str;
int count = 0;
while (*p++ != '\0')
{
count++;
}
return count;
}
int main()
{
char str[] = "abcd";
int count1 = sizeof(str);
int count2 = strlen(str);
int count3 = get_length(str);
printf("use sizeof the length is %d\n", count1);
printf("use strlen the length is %d\n", count2);
printf("use get_length the length is %d\n", count3);
return 0;
}
结果:
到此这篇关于C语言多种获取字符串长度的方法的文章就介绍到这了,更多相关C语言获取字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://blog.csdn.net/st66688/article/details/108356361
0
投稿
猜你喜欢
- 最近在项目中用到了上下滚动展示条目内容,就使用kotlin简单编写实现了一下该功能。使用kotlin实现viewflipper展示textv
- 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using System
- public class TestSqlserverJtds { public static void main(String[]
- 引出泛型我们通过如下的示例,引出为什么泛型的概念。public class Test {public static void main(St
- 在学习安卓的最初过程中我们学的都是最基本的一个活动,只有一个活动的应用也太简单了吧,没错我们的最求应该更高点,不管你创建多少个活动,接下里我
- 什么是mybatis,mybatis有什么特点,下面先给大家介绍下mybatis的概念及特点。jdbc开发优缺点:1)优点:简单易学,上手快
- 问题场景之前写过一篇文章: 2.@JvmOverloads快捷实现函数重载, 借助于Kotlin的默认参数+@JvmOverloads简化自
- 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1
- 概述Spring Cloud中,客户端的负载均衡使用的是Ribbon,Ribbon的超时时间默认很短,需要进行调整。Spring Cloud
- 实例如下:public String stripHtml(String content) { // <p>段落替换为换行 con
- Java继承方法重写是Java语言多态的特性,必须满足以下条件在子类中,方法名称与父类方法名称完全相同方法的参数个数和类型完全相同,返回类型
- ES 简介Elasticsearch 是一个基于 Lucene 实现的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 REST
- DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:
- 今天遇到一个需求,需要处理通过接口传过来的一个参数,参数内容为一个拼接好的Url地址,且该地址还会携带了一些额外的参数,包括但不限于数字,字
- 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JA
- 本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下首先建立水果类的界面public class Fruit {
- 最近碰到个需求,是希望在Unity有一个按钮,打开后直接跳转淘宝app,打开商品页面。百度了下没有相关的文章,于是我在此分享下。之前开发游戏
- 定义: SharedPreferences
- 在用unity进行游戏开发时我们有时需要一些物体在场景切换时不需要被销毁这时我们可以用官方给的DontDestroyOnLoad()方法,这
- 取模运算与取余运算两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。对于整形数a,b来说,取模运算或者求余运