只能输入字符,将字母前面的*转移到字符串的结尾

cs 复制代码
#include <stdio.h>
void  fun(char* a)
{
    int m = 0, i = 0;
    char* p;
    p = a;
    while (*p == '*')
    {
        m++;
        p++;
    }
    while (*p != '\0')
    {
        a[i++] = *p;
        p++;
    }
    while (m != 0)
    {
        a[i++] = '*';
        m--;
    }
    a[i] = '\0';
}

void main()
{
    char  s[81];  int  n = 0;
    printf("Enter a string:\n"); gets(s);
    fun(s);
    printf("The string after moveing:\n"); puts(s);
}

输出结果:

相关推荐
松涛和鸣1 小时前
51、51单片机
c语言·网络·单片机·嵌入式硬件·tcp/ip·51单片机
奋斗者1号2 小时前
paho-mqtt-c + OpenSSL 3.x 连接华为云 IoTDA TLS 握手失败问题分析
c语言·网络·华为云
飞机和胖和黄2 小时前
王道C语言第一周作业
c语言·开发语言
你怎么知道我是队长11 小时前
C语言---typedef
c语言·c++·算法
带土112 小时前
5. enum(枚举)关键字在C/C++中的作用
c语言·c++
凉、介17 小时前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化
你怎么知道我是队长18 小时前
C语言---输入和输出
c语言·开发语言
net3m3318 小时前
单片机屏幕多级菜单系统之当前屏幕号+屏幕菜单当前深度 机制
c语言·c++·算法
你怎么知道我是队长18 小时前
C语言---文件读写
java·c语言·开发语言
wu_asia19 小时前
编程技巧:如何高效输出特定倍数数列
c语言·数据结构·算法