[英]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.