C语言删除字符串中重复的字符

简介: #include #include #define NR(x) sizeof(x)/sizeof(x[0])int Del_char(const char *input, char *output){ int i , j , k = 0; int flag ; ...
#include <stdio.h>
#include <string.h>
#define NR(x)  sizeof(x)/sizeof(x[0])
int Del_char(const char *input, char *output)
{
    int i , j , k = 0;
    int flag ;
    int len ;
    //判断输入输出的字符串数组是否为空 
    if(input == NULL  || output == NULL)
    {
        //如果为空,返回错误码 
        return -1 ; 
    }
    //用查询的方法遍历数组的每一个元素 
    for(i = 0 ; i < NR(input) ; i++)
    {
        //把标志位置一 
        flag =1 ;
        //在遍历一遍数组,这个for用来与上面的进行比较,如果出现相同的
        //就把标志位置0 
        for(j = 0 ; j < i ; j++)
        {
            if(input[i] == input[j])
                flag = 0 ;      
        }    
        //如果标志位被置1,表示没有重复的元素,这时候,将不重复的元素
        //从数组的首元素的地方开始往后排列 
        if(1 == flag){
            output[k++] = input[i] ; 
        }
    }
    //最后加一个伪0作为结束 
    output[k] = '\0' ; 
    puts(output);        
    return 0 ;
}


int main()
{
     char str_input[10];
     char str_output[10]={"0"};
     printf("请输入你的字符串:");
     scanf("%s",&str_input);
     Del_char(str_input,str_output);
     getchar();
     getchar();
     return 0 ;
}

目录
相关文章
|
2月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
234 15
|
9月前
|
存储 算法 C语言
【C语言】字符常量详解
字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。
656 11
|
9月前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
339 10
|
9月前
|
存储 C语言 开发者
【C语言】格式化输出占位符及其标志字符详解(基于ISO/IEC 9899:2024)
在C语言中,格式化输出通过 `printf` 函数等格式化输出函数来实现。格式说明符(占位符)定义了数据的输出方式,标准ISO/IEC 9899:2024(C23)对这些格式说明符进行了详细规定。本文将详细讲解格式说明符的组成部分,包括标志字符、宽度、精度、长度修饰符和类型字符,并适当增加表格说明。
436 6
|
10月前
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
520 4
|
11月前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
11月前
|
C语言 C++
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
106 2
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]=&quot;hello&quot;`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
345 8
|
存储 Serverless C语言
【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数
本文介绍了C语言中的`gets`和`puts`函数,`gets`用于从标准输入读取字符串直至换行符,并自动添加字符串结束标志`\0`。`puts`则用于向标准输出打印字符串并自动换行。此外,文章还详细讲解了`str`系列字符串操作函数,包括统计字符串长度的`strlen`、复制字符串的`strcpy`、比较字符串的`strcmp`以及拼接字符串的`strcat`。通过示例代码展示了这些函数的具体应用及注意事项。
566 7
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
428 4