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

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 小时前
吃透Java操作符高阶:位操作符+赋值操作符全解析(Java&C区别+实战技巧+面试考点)
java·c语言·面试
口袋物联2 小时前
模板方法模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·模板方法模式
敲皮裤的代码2 小时前
《C语言》深入理解指针(3)
c语言
CUC-MenG4 小时前
Codeforces Round 1079 (Div. 2)A,B,C,D,E1,E2,F个人题解
c语言·开发语言·数学·算法
666HZ6664 小时前
数据结构4.0 串
c语言·数据结构·算法
程序员zgh5 小时前
Linux 内存管理单元 MMU
linux·运维·服务器·c语言·开发语言·c++
Mr YiRan6 小时前
指针实战运用进阶之字符串操作
c语言
Mr YiRan7 小时前
静态开辟内存与动态开辟内存
c语言
935968 小时前
机考24 翻译18 单词11
c语言·数据结构·算法
民国二十三画生9 小时前
C++(兼容 C 语言) 的标准输入语法,用来读取一行文本
c语言·开发语言·c++