首页 > 其他分享 >学习日记:一维字符型数组

学习日记:一维字符型数组

时间:2024-07-31 21:28:11浏览次数:8  
标签:字符 20 函数 s2 s1 char 一维 gets 日记

目录

1. 格式

2. 字符串长度

3. 字符数组的输入输出

3.1 gets函数

3.2 puts函数

3.3 scanf函数

3.4 printf函数

4. 字符串处理函数

4.1 strlen函数(计算数组长度)

4.2 strcpy函数(复制字符串)

4.3 strcat函数(拼接字符串)

4.4 strcmp函数(比较字符串)


1. 格式

数据类型 数组名 [数组长度];

char s[20];
类型说明符 数组名[常量表达式];

2. 字符串长度

char s[] = "hello";        // s的长度 --- 数组的长度,为6.


char s[10] = "hello";      // s的长度 --- 数组的长度,为10


char s1[10];
gets(s1);
char s2[10];
s2 = s1;                // C语言中不能这样整体赋值

3. 字符数组的输入输出

3.1 gets函数

gets(s);

功能:从键盘输入一个字符串;

注:使用gets函数时需要注意越界风险,gets函数不会计入换行符。

3.2 puts函数

puts(s);

功能:输出一个字符串

注:puts函数自带换行符。

3.3 scanf函数

scanf("%s",s);

3.4 printf函数

printf("%s",s);

4. 字符串处理函数

4.1 strlen函数(计算数组长度)

#include<stdio.h>

int main(void)
{
    char s[20] = "hello";
    int i = 0;

    while(s[i] != '\0')
    {
        ++i;
    }
    printf("%d\n",i);
    return 0;
}

相当于:

strlen(s);

4.2 strcpy函数(复制字符串)

#include<stdio.h>

int main(void)
{
    char s1[20];
    char s2[20];
    int i = 0;

    gets(s1);
    while(s1[i]!='\0')
    {
        s2[i] = s1[i];
        ++i;
    }
    s2[i] = '\0';

    puts(s2);

    return 0;
}

相当于:

strcpy(s2,s1);
strcpy(目标数组,原数组);

4.3 strcat函数(拼接字符串)

#include<stdio.h>

int main(void)
{
    char s1[20] = "hello";
    char s2[20] = "world";
    int i = 0;
    int j = 0;

    while(s1[i]!='\0')          // 定位'\0'的位置
    {
        ++i;
    }

    while(s2[j] != '\0')
    {
        s1[i] = s2[j];          // 从s1'\0'的位置开始把s2的每个元素给到s1;
        ++i;
        ++j;
    }
    s1[i] = '\0';               // 加上\0使其成为字符串

    puts(s1);

    return 0;
}

这个函数可以实现strcat的功能,相当于:

strcat(s1,s2);
strcat(目标数组,原数组);

4.4 strcmp函数(比较字符串)

原理就是比较字符的ascii值,返回的是两个字符组首个不同字符的ASCII值的差值。

#include<stdio.h>

int main(void)
{
    char s1[20];
    char s2[20];
    gets(s1);
    gets(s2);
    int i = 0;

    while(s1[i]==s2[i] && s1[i]!='\0' && s2[i]!='\0')
    {
        ++i;
    }

    if(s1[i] > s2[i])
    {
        printf("s1 > s2\n");
    }else if(s2[i] > s1[i])
    {
        printf("s2 > s1\n");
    }else
    {
        printf("s1 = s2\n");
    }

    return 0;
}

这个函数是实现strcmp的功能,相当于:

#include<stdio.h>
#include<string.h>

int main(void)
{
    char s1[20];
    char s2[20];
    gets(s1);
    gets(s2);

    printf("%d\n",strcmp(s1,s2));
    return 0;
}

标签:字符,20,函数,s2,s1,char,一维,gets,日记
From: https://blog.csdn.net/qq_70030717/article/details/140801480

相关文章

  • 高一上八月上旬日记
    8.1闲话做题纪要luoguP4170[CQOI2007]涂色多倍经验:CF1132FCleartheStringluoguP3302[SDOI2013]森林luoguP3722[AH2017/HNOI2017]影魔luoguP4587[FJOI2016]神秘数......
  • 实训日记day17
    nginx实现负载均衡机器前期准备:下载httpd:[root@fuwuq~]yum-yinstallhttpd下载nginx:[[email protected]]#wgethttps://nginx.org/download/nginx-1.26.1.tar.gz​解压:[[email protected]]#tar-zxvfnginx-1.26.1.tar.gz......
  • 实训日记day16
    web服务安装与部署web基本概念和常识web服务为⽤户提供的⼀种在互联⽹上浏览信息的服务,Web服务是动态的、可交互的、跨平台的和图形化的。Web服务为⽤户提供各种互联⽹服务,这些服务包括信息浏览服务,以及各种交互式服务,包括聊天、购物、学习等等内容。......
  • 实训日记day15
    shell脚本概念作为计算机语言来理解可以认为它是操作系统的外壳。可以通过shell命令来操作和控制操作系统,比如Linux中的shell命令就包括ls、cd、pwd等等。shell在内核的基础上编写的一个应用程序,它连接了用户和Linux内核,从而让用户能够更加便捷、高效、......
  • el-table数据中特殊字符tooltip换行展示并且列表中超出显示省略号
     <el-table-column prop="baMsg" label="描述信息">             <template slot-scope="scope">                <el-tooltip class="item" effect="dark" placement="top-start">           ......
  • 伙伴匹配系统踩坑日记1
    伙伴匹配系统踩坑日记1前端初始化文档参考https://cn.vitejs.dev/guide/输入指令后报错解决方法参考https://blog.csdn.net/qq_26018335/article/details/126201219yarn安装默认在c盘所以其global和cache配置在c盘,输入以下指令查看默认配置在哪个盘yarnglobaldir只要......
  • 对字符串形式的公式进行数学计算处理方法
    一、通过JavaScript引擎(Nashorn)进行处理,较新jdk版本不支持在JavaFX中,将字符串表示的公式转化为实际可计算的公式是一个涉及到解析和评估字符串表达式的过程。你可以使用Java的内置库javax.script来实现这个功能。javax.script允许你执行JavaScript代码,包括数学表达式,并且它提供了......
  • 二进制序列化和字符串序列化
    经常用json字符串序列化,倒是忘记也可做二进制序列化。在文件上传时,如果序列化为字符串,再按字符串上传,这样是否会数据量变大呢?今天试了试两种序列化方式:dotnet自带的BinaryFormatter和Newtonsoft privatevoidbutton3_Click(objectsender,EventArgse){......
  • mysql的sql怎么拼接字符串类型?
    在MySQL中,字符串拼接通常不使用+号,而是使用CONCAT()函数。MySQL并不支持用+号直接进行字符串接。在MySQL中,+号用于数值运算。使用CONCAT()函数进行字符串拼接示例:SELECTCONCAT('Hello','','World')ASgreeting;结果:+----------+|greeting|+---......
  • 当密码包含特殊字符时写入连接字符串
    我正在将SQLalchemy用于Python项目,并且希望有一个整洁的连接字符串来访问我的数据库。例如:engine=create_engine('postgresql://user:pass@host/database')问题是我的密码包含一系列特殊字符,当我尝试连接时,这些字符被解释为分隔符。我意识到我可以使用engin......