You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++编写文本反转代码报错:提示Text和revText未声明,求错误排查

C++文本反转代码错误修复说明

核心错误点列表

  • 变量重定义冲突:main函数开头已将Text、revText定义为int类型,后续又重复定义为char数组,导致编译器识别异常
  • 数组长度定义语法错误:const int [arrSize] = 101;语法非法,正确写法为const int arrSize = 101;
  • 函数声明与定义不匹配:声明为void reverse_Text(char* str);,实际定义却为双参数、int返回值的版本,参数类型也错误写成char而非char*
  • for循环语法错误:循环三个条件需用分号分隔,而非逗号,且函数内未提前声明变量j
  • 字符串结束符错误:误将结束符写为'0',正确的字符串结束符为'\0',且无需每次循环都赋值,循环结束后赋值一次即可
  • 输入语句功能缺陷:cin >> Text只能读取无空格的字符串,若要读取整行句子需用cin.getline

修正后可运行代码

原地反转版本(直接修改原字符串)

#include <iostream>
#include <string.h>
using namespace std;

void reverse_Text(char* str);

int main()
{   
    const int arrSize = 101;
    char Text[arrSize]; 

    cout << "Please enter a sentence: ";
    cin.getline(Text, arrSize);

    reverse_Text(Text);

    cout << "The reversed text is " << Text << endl;
    return 0;

}

void reverse_Text(char* str)
{
    int len = strlen(str);
    for(int i = 0; i < len / 2; i++){
        char temp = str[i];
        str[i] = str[len - 1 - i];
        str[len - 1 - i] = temp;
    }
}

保留原字符串版本(反转结果存入单独数组)

#include <iostream>
#include <string.h>
using namespace std;

void reverse_Text(char* ori_str, char* rev_str);

int main()
{   
    const int arrSize = 101;
    char Text[arrSize], revText[arrSize]; 

    cout << "Please enter a sentence: ";
    cin.getline(Text, arrSize);

    reverse_Text(Text, revText);

    cout << "The original text is " << Text << endl;
    cout << "The reversed text is " << revText << endl;
    return 0;

}

void reverse_Text(char* ori_str, char* rev_str)
{
    int len = strlen(ori_str);
    for(int i = 0; i < len; i++){
        rev_str[i] = ori_str[len - 1 - i];
    }
    rev_str[len] = '\0';
}

内容的提问来源于stack exchange,提问作者sariF_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:06:05