c - C中删除字符

标签 c function pointers

假设我有以下代码:

#include <stdlib.h>
#include <stdio.h>

void f0(char* str){
    printf(" it riii%sght,",str);
}

void f1(char* str){
    printf("Congr%sats,",str);
}

void f2(char* str){
    printf(" you gg%sot",str);
}

int main(){

    return 0;
}

我希望它打印出“恭喜,你做对了”。有没有一种方法可以用少于 4 行代码编写一个函数来摆脱多余的字符?我想也许我必须使用 ASCII 中的 127 删除字符。因此,例如我尝试这样做:

char del = 127;

char* del_ptr = &del;

f2(del_ptr);

并将其作为参数传递给函数,仅用于删除一个字符。但是,这没有用。有没有一种方法可以添加一个且只有一个函数,代码不超过 4 行,在 main 函数中最多编写 3 行代码,并包含最多 3 个生成“恭喜,你做对了”的库?

我还想知道为什么将删除字符作为参数传递给这些函数也不起作用。

最佳答案

int main(){
    f1("");
    f2("\b");
    f0("\b\b");
    return 0;
}

关于c - C中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22737426/

相关文章:

c - 在堆栈上声明内存会覆盖先前声明的内存

使用Codeblocks在Windows 7 64位上编译C程序以在Windows XP 32位上运行

c - LLDB:每次调用时打印传递给函数的变量?

javascript - 为什么 apply with too many arguments 抛出 "Maximum call stack size exceeded"?

c - C中输入三个整数的函数

c - 使用 uint32_t* 更改 uint8_t 数组的值

c - objective-c nsarray 到 c 数组

c - Linux 内核 2.6 中的计时

function - 如何在 Rust 中动态构建具有不同数量参数的函数调用?

c - Quicksort C - 段错误