去掉字符串首尾空格educoder

    科技2024-03-19  87

    [重要1 和 重要2] 这两个地方都是我以前没有见过的,记下来。 #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 *********/ char *p = str; while(*p != '\0') p++; p--; //离开'\0' while(p >= str && *p == ' ') { *p = '\0'; //重要1.直接变成结束符号 避免输出后面的空格 这个太秀了,记下来。 p--; } //while完成后 p变成了尾指针 p = str; //重要2. 直接将p指针回到起点, 然后将其变为首指针(去除空格后的) while(*p == ' ') p++; return p; /********** End **********/ }
    Processed: 0.009, SQL: 8