簡體   English   中英

如何使用指針程序使句子反轉以停止打印亂碼?

[英]How do I get sentence reversal using pointers program to stop printing out jibberish?

我的代碼將編譯並運行,但是輸出是亂碼。 它實際上只是一堆或隨機符號以及幾個字母。

這是我的代碼:

int main()
{
    char words[MAX];
    cout<<"This program will reverse your sentence.\n";


        cout<<"Please enter a sentence (up to 100 characters)\n";
        cin.getline(words,MAX);
        cout<<words<<"\n";
        sentence_reversal(words);
        cout<<endl;

    return 0;
}

void sentence_reversal(char a[])
{
    char *the_front;
    char *rear;
    int i=0;
    rear = &a[i];
    *rear=a[i];
    the_front=&a[i];
    *the_front=a[i];

    for(int i = MAX-1; i>=0; i--)
    {
        *rear=a[i];
        cout<<*rear;

    }
delete the_front;
delete rear;

return;
}

我已經重寫了該代碼數十次,並且同樣地回顧了指針。 我試圖了解如何將指針與char數組和cstrings一起使用。 最初,我試圖在函數中將指向the_front和back指向char a []的指針,但是我收到了以下錯誤:

無法將char轉換為* char。

現在沒有錯誤,但是相反的句子沒有打印出來,只是雜亂無章。

您需要從字符串的末尾而不是緩沖區的末尾開始打印。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM