這是我爲使用遞歸反轉字符串而編寫的代碼。反向使用遞歸的字符串在C中工作,但在C++中不能使用
我已經在兩個方面嘗試過:
- 一個使用C
- 一個用C++
C版本按預期工作,但是,當我用C++版本沒有關係」給出任何輸出並連續讀取輸入。
void reverse() // C++ version
{
char ch;
cin>>ch;
if(ch!='\n')reverse();
cout<<ch;
}
void reverse() // C version
{
char ch;
scanf("%c",&ch);
if(ch!='\n')reverse();
printf("%c",ch);
}
int main(void)
{
reverse();
return 0;
}
C++代碼有什麼問題?
1.上面的代碼將無法編譯,因爲你定義了相同類型的兩個不同的功能。 2.你不清楚你的問題是什麼;嘗試更具體。 – blazs
aree我一次沒有使用2個funcion:/我只是在這裏粘貼它詢問 – sat
@pufi你使用scanf(「%c」,&ch);它讀取一個字符,那麼你如何嘗試反轉它,因爲它是隻有一個? – Marievi