2017-04-06 67 views
1

我在Xcode 8.3的Xcode 8.3命令行C++

#include <iostream> 
using namespace std; 

void reverseString(int); 


int main(int argc, const char * argv[]) { 

    reverseString(123456); 
    return 0; 
} 

void reverseString(int numString){ 

    if(numString < 10){ 
     cout<<numString; 
    }else{ 
     cout<<numString % 10; 
     reverseString(numString/10); 
    } 
} 

有一個簡單的程序代碼僅僅打印出在其相反的順序的數字。

當我在Xcode中運行該程序,我得到

程序退出代碼爲結束:0

與打印語句改寫程序的主要功能如下所示:

int main(int argc, const char * argv[]) { 

cout<<"Hello"; 
reverseString(123456); 
    return 0; 
} 

我得到相同的輸出

程序退出代碼爲結束:0

如果我\ n添加到print語句cout<<"Hello\n";

我得到的發送:

你好

計劃與退出結束代碼:0

h是怎麼回事ERE?我最近更新到Xcode 8.3,可能會導致這個問題?如果是這樣,我該如何解決這個問題?

注:我通過選擇文件創建我的項目 - >新項目 - >的MacOS - >命令行程序

另外請注意:我已經在過去創建仍能正常運行的程序。

回答

2

cout將不會打印任何內容,直到您發送「\ n」,因此在您的代碼中某處您需要執行cout < <「\ n」;

+0

這是爲什麼?那特定於Xcode是否正確?其他IDE將正確地打印語句而不用cout <<「\ n」 – huddie96

+0

我不相信它特定於Xcode。目的是允許您建立一個字符串,用於從多行代碼輸出到標準輸出終端,該行只有在以\ n(或std :: endl)終止時纔會發出。 – Kenny

+0

您可以始終調用cout .flush()強制輸出。 – Kenny