C语言获取字符串长度,c语言中如何获取字符串长度
#包含stdio.h
#定义长度128
#定义编号5
int nbsp。主要(无效){
int nbsp。我;
char nbsp。s[数字][长度];
对于(我nbsp=nbsp0;nbsp我nbsplt;nbsp号码;nbspi ){
printf(quot;s[% d]nbsp;nbspquot,nbsp。I);
scanf(quot;% s quot,nbsp。s[I]);
}
puts(quot;-打印字符串-quot;);
对于(我nbsp=nbsp0;nbsp我nbsplt;nbsp号码;nbspi ){
printf(quot;s[% d]nbsp;=nbsp\ quot% s \ quot\ n quot,nbsp。我,nbsps[I]);
}
返回nbsp。0;
}程序中的数组S是一个5行128列的二维数组,即每行的字符串长度为127(空字符占用1段存储空间),可以存储5行字符串。
注意:字符串数据不能通过操作符传递给scanf函数。
运行结果:
#包含stdio.h
#定义长度128
int nbsp。str _ length(const nbsp;char nbsp。s[]){
int nbsp。len nbsp。=nbsp0;
而nbsp。(s[len]){
len
}
返回nbsp。lennbspnbsp//返回数组str中第一个空元素的下标值
}
int nbsp。主要(无效){
char nbsp。str[长度];
printf(quot;请输入字符串:quot);
scanf(quot;% s quot,nbsp。str);
printf(quot;字符串\ quot% s \ quot长度为nbsp%d .nbsp\ n quot,nbsp。str,nbsp。str _ length(str));
}运行结果:
当循环条件表达式不为0时,While语句执行循环体语句。这个循环语句将从头开始遍历数组。
继续循环的条件是s[len]不为0,即不是空字符。变量len的初始值为0,每执行一次loop语句就递增1,直到出现空字符。
数组的长度是128,实际存储的长度只有5,其余都是空的。因此,字符串不一定只是填充字符串数组。因为字符串包含指示其结尾的空字符,所以从第一个字符到“\ 0”(的前一个字符)的字符数是字符串的长度。
使用指针遍历获得字符串长度# includesdio.h。
int nbsp。str_length。(const nbspchar nbsp。*s){
int nbsp。len nbsp。=nbsp0;
而nbsp。(*s ){
len
}
返回nbsp。len
}
int nbsp。主要(无效){
char nbsp。str[128];
printf(quot;请输入字符串:quot);
scanf(quot;% s quot,nbsp。str);
printf(quot;字符串\ quot% s \ quot的长度为% d,\ n quot,nbsp。str,nbsp。str _ length(str));
返回nbsp。0;
}使用库中的函数获取字符串的长度头文件
原样
解释
返回值
#包含字符串. h
size_t strlen(常量字符)
求s指向的字符串的长度(不包括空字符)。
返回s指向的字符串的长度。
#包含stdio.h
#包含字符串. h
int nbsp。主要(无效){
char nbsp。*p nbsp。=nbspquotvvcat quot;
printf(quot;字符串的长度为% d quot,nbsp。strlen(p));
返回nbsp。0;
}实现strlen函数# includesdio.h
size_t nbsp。strlen(常量nbsp。char nbsp。*s){
size_t nbsp。len nbsp。=nbsp0;
while(*s ){
len
}
返回nbsp。len
} nbsp
int nbsp。主要(无效){
char nbsp。*p nbsp。=nbspquotvvcat quot;
printf(quot;字符串的长度为% d quot,nbsp。strlen(p));
返回nbsp。0;
}
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。