C语言实现字符串右截取功能

需积分: 15 1 下载量 35 浏览量 更新于2024-08-04 收藏 1KB TXT 举报
"该代码示例是用C语言编写的,目的是从用户输入的非空字符串中右截取指定数量的字符并输出结果。代码包括两个自定义函数:f4和fun5,分别用于获取用户输入和执行字符串右截取操作。" 在编程中,特别是在C语言中,指针是一种强大的工具,它允许我们直接操作内存地址。在这个问题中,我们看到如何使用指针和函数来处理字符串操作。主要涉及以下知识点: 1. **指针**:指针变量存储的是内存地址,可以用来间接访问或修改存储在特定地址的数据。在代码中,`char *p` 和 `char *q` 都是字符型指针,分别指向字符串的起始位置和截取后的字符串的起始位置。 2. **函数**:`fun5` 和 `f4` 是两个自定义函数。`f4` 函数接收一个字符数组和一个整型变量 `rightlen` 作为参数,负责获取用户输入的字符串和截取长度。`fun5` 函数则根据传入的原始字符串指针 `p` 和截取长度 `rightlen`,返回一个新的指针,该指针指向截取后字符串的起始位置。 3. **字符串操作**: - `strlen()` 函数用于计算字符串的长度,不包括结束符`\0`。 - `gets()` 函数用于从标准输入读取一整行(包括空格)并存储到字符数组中。 - `printf()` 和 `scanf()` 分别用于输出和输入数据。 4. **条件判断**:代码中使用条件判断语句来检查输入的字符串是否非空以及截取长度是否有效。如果字符串为空或者截取长度超过字符串长度,程序会给出相应的错误提示。 5. **数组**:`char a[80]` 用于临时存储用户输入的字符串,而 `char c[80]` 在 `main` 函数中用于接收截取后的字符串。 6. **文件包含**:`#include` 语句用于引入必要的头文件,如 `stdio.h`、`conio.h`、`string.h` 和自定义的头文件 `"20221405125-4-4.h"`。其中,`conio.h` 是一个非标准的头文件,通常在DOS环境下用于处理控制台输入输出,而在标准C中,可以使用 `<curses>` 或其他方法代替。 7. **流程控制**:`main` 函数中的 `getch()` 用于暂停程序,等待用户按键,这样用户可以在程序输出结果后查看屏幕信息,避免窗口自动关闭。 通过这段代码,我们可以学习到如何使用C语言中的指针、函数、字符串操作以及基本的输入输出,同时理解如何编写自定义函数来处理特定任务。这些知识点对于理解和编写C语言程序至关重要。