2501_93528501 2025-12-10 14:11 采纳率: 89.7%
浏览 20

如何用C语言指定位置输出字符串

本题要求实现一个函数,对给定的一个字符串和两个字符串,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-12-10 14:26
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你可以使用 strchr 函数来找到第一个和第二个字符的位置,然后使用 memcpy 函数来复制出所需的字符串。

    #include <stdio.h>
    #include <string.h>
    
    void print_string(char *str, char *start, char *end) {
        char *p1 = strchr(str, *start);
        char *p2 = strchr(str, *end);
    
        if (p1 != NULL && p2 != NULL) {
            printf("%s\n", p1);
            printf("%s\n", p2);
        } else {
            printf("找不到匹配的字符\n");
        }
    }
    
    int main() {
        char str[] = "Hello, World!";
        print_string(str, 'H', 'W');
        return 0;
    }
    

    在这个例子中,strchr 函数返回第一个和第二个字符的位置,memcpy 函数复制出所需的字符串。注意,strchr 函数返回指向匹配字符的指针,如果没有找到匹配的字符,则返回 NULL

    评论

报告相同问题?

问题事件

  • 创建了问题 12月10日