朱朱你堕落了 发表于 2024-9-15 06:28

求助C语言大佬写几行代码

char test[] = "aa-bb-cc-dd";
转化成aabbccdd
就是删除掉里面的横杠就行,不要使用malloc/new申请内存这类函数,不要使用C++ string类中的函数。就这么简单

xuexiba 发表于 2024-9-15 06:28

#include <stdio.h>

void removeHyphens(char *str) {
    char *src = str, *dst = str;

    while (*src) {
      if (*src != '-') {
            *dst++ = *src;
      }
      src++;
    }
    *dst = '\0'; // 终止字符串
}

int main() {
    char test[] = "aa-bb-cc-dd";
    removeHyphens(test);
    printf("%s\n", test); // 输出: aabbccdd
    return 0;
}

DeityGlory 发表于 2024-9-15 06:56

#include <stdio.h>
#include <stdlib.h>
int main(){
char test[]="aa-bb-cc-dd";
int j = 0;
//假设要转换的字符串中字符个数不超过100
//这个result就是保存结果的字符数组
char result={};
int i =0;
while(test!='\0')
{
if(test!='-')
{
result=test;
j++;
}
i++;
}
//输出结果
printf("%s",result);
//暂停程序,防止看不到结果直接结束
system("pause");
return 0;
}

我心她有丶 发表于 2024-9-15 08:05

#include <stdlib.h>
#include <string.h>

int main()
{
    char test[] = "aa-bb-cc-dd";
    int len = strlen(test);
    int i,j = 0;

    for (; i < len; i++) {
      // 遇到 - 则跳过,否则就修改j位置,并将j往后挪
      if (test != '-') {
            test = test;
      }
    }
    // 补上结束标记
    test = '\0';
    printf("%s\n",test);
    return(0);
}

richard_ljd 发表于 2024-9-15 08:08

本帖最后由 richard_ljd 于 2024-9-15 08:14 编辑

看到C语言大佬就难崩,“我可是C语言大佬,小心我把你源码黑出来

darkf 发表于 2024-9-15 08:46

不是吧,这时学C吗

swico 发表于 2024-9-15 08:46

直接gpt,这个没啥用的

kof888 发表于 2024-9-15 08:52

这个有啥用?还不如直接判断不是ascii值就跳过。

wyw6813 发表于 2024-9-15 09:51

直接使用替换函数把横杠替换成空不行吗

xiaoguozi2025 发表于 2024-9-15 10:00

richard_ljd 发表于 2024-9-15 08:08
看到C语言大佬就难崩,“我可是C语言大佬,小心我把你源码黑出来

哈哈哈,笑死我了,,大佬威武,膜拜大佬。。
页: [1] 2
查看完整版本: 求助C语言大佬写几行代码