我有一条显示char*字符串的语句。但是当我尝试cout一个char*字符串时,我在屏幕上看不到任何打印内容。下面是我的代码:

char* reverseString(char *inputString)
{
    int i=0, length=0;
    char *reversedString = (char*)malloc(100);
    strcpy(reversedString,inputString);
    while(inputString[i]!='\0')
    {
        i+=1;
        length+=1;
    }

    for(int i=0;i<length;i++)
    {
        reversedString[i]= inputString[length-i];
    }
    cout<<endl<<"In Function, Reversed String: "<<*reversedString<<endl;
    return reversedString;
}
int main()
{
    char string[100],*reversedString;
    cout<<"Enter string: ";
    scanf("%s",string);
    cout<<"\nString is: "<<string;
    reversedString = reverseString(string);
    cout<<endl<<"In Main, Reversed String: "<<*reversedString<<endl;
    return 0;
}

最佳答案

使用forreverse函数中启动i = 1循环。然后再添加一条语句reversedString[i] = '\0',以在字符串后附加\0

关于c++ - 无法在我的代码中使用char *字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20124858/

10-10 13:05