2017-04-06 66 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