字符函数字符串函数

2023-12-17 22:24:35
islower 是能够判断参数部分的 c 是否是?写字?的。
练习:
写?个代码,将字符串中的?写字?转?写,其他字符不变。
#include <stdio.h>
#include <ctype.h>
int main ()
{
 int i = 0;
 char str[] = "Test String.\n";
 char c;
 while (str[i])
 {
 c = str[i];
 if (islower(c)) 
 c -= 32;
 putchar(c);
 i++;
 }
 return 0;
}
int tolower ( int c ); // 将参数传进去的?写字?转?写
int toupper ( int c ); // 将参数传进去的?写字?转?写
#include <stdio.h>
#include <ctype.h>
int main ()
{
 int i = 0;
 char str[] = "Test String.\n";
 char c;
 while (str[i])
 {
 c = str[i];
 if (islower(c)) 
 c = toupper(c);
 putchar(c);
 i++;
 }
 return 0;
}
size_t strlen ( const char * str );
? 字符串以 '\0' 作为结束标志
,strlen函数返回的是在字符串中 '\0' 前?出现的字符个数(不包
'\0' )。
? 参数指向的字符串必须要以 '\0' 结束。
? 注意函数的返回值为size_t,是?符号的( 易错 )
? strlen的使?需要包含头?件
#include <stdio.h>
#include <string.h>
int main()
{
 const char* str1 = "abcdef";
 const char* str2 = "bbb";
 if(strlen(str2)-strlen(str1)>0)
 {
 printf("str2>str1\n");
 } 
 else
 {
 printf("srt1>str2\n");
 }
 return 0;
}
//计数器?式
int my_strlen(const char * str)
{
 int count = 0;
 assert(str);
 while(*str)
 {
 count++;
 str++;
 }
 return count;
}
//不能创建临时变量计数器
int my_strlen(const char * str)
{
 assert(str);
 if(*str == '\0')
 return 0;
 else
 return 1+my_strlen(str+1);
}
//指针-指针的?式
int my_strlen(char *s)
{
 assert(str);
 char *p = s;
 while(*p != ‘\0’ )
 p++;
 return p-s;
}
strcpy的模拟实现:
 char *my_strcpy(char *dest, const char*src)
 { 
 char *ret = dest;
 assert(dest != NULL);
 assert(src != NULL); 
while((*dest++ = *src++))
 {
 ;
 }
 return ret;
 }
模拟实现strcat函数:
char *my_strcat(char *dest, const char*src)
{
char *ret = dest;
 assert(dest != NULL);
 assert(src != NULL);
 while(*dest)
 {
 dest++;
 }
 while((*dest++ = *src++))
 {
 ;
 }
 return ret;
}
strcmp函数的模拟实现:
? 标准规定:
? 第?个字符串?于第?个字符串,则返回?于0的数字
? 第?个字符串等于第?个字符串,则返回0
? 第?个字符串?于第?个字符串,则返回?于0的数字
? 那么如何判断两个字符串? ?较两个字符串中对应位置上字符ASCII码值的??。

文章来源:https://blog.csdn.net/2301_80173477/article/details/135050916
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。