#include <iostream> using namespace std; char * trim(char * str); int main() { char s[1024]; // 定义存储字符串的一维字符数组 // 输入一行字符,可以包含空格 // 输入的字符串存入s中,最多读取个字符,后面自动加上'\0' cin.getline(s,1024); cout << trim(s) << endl; // 输出去掉首尾空格后的字符串 return 0; } // 函数trim:去掉字符串首尾空格 // 参数:str-字符指针,指向输入的字符串 // 返回值:字符指针,指向去掉首尾空格后的字符串(首地址) // 提示:可以直接在字符串str中操作 char * trim(char * str) { // 请在此添加代码,实现函数trim /********** Begin *********/ while (*str == ' ') {
时间: 2023-10-21 08:22:34 浏览: 49
这段代码是一个 C++ 程序,实现了一个函数 `trim`,可以去掉字符串首尾的空格。程序通过 `cin` 读取一行字符串,最多读取 1024 个字符,存储在字符数组 `s` 中。然后调用 `trim` 函数去掉字符串首尾空格,并输出结果。
函数 `trim` 的实现是通过指针操作实现的。首先使用一个 while 循环,将指针 `str` 指向第一个非空格字符。然后使用另一个指针 `end` 指向字符串的末尾,从末尾向前遍历,将指针 `end` 指向最后一个非空格字符。最后在 `end` 后面加上一个空字符 '\0',表示字符串的结束。函数返回指针 `str`,指向去掉首尾空格后的字符串(首地址)。
不过,在你的代码中,while 循环缺少右括号 '}',导致编译错误。你需要加上右括号 '}' 来结束 while 循环。