的Xcode 8.3命令行C++
问题描述:
我在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 - >命令行程序
另外请注意:我已经在过去创建仍能正常运行的程序。
答
cout将不会打印任何内容,直到您发送“\ n”,因此在您的代码中某处您需要执行cout < <“\ n”;
这是为什么?那特定于Xcode是否正确?其他IDE将正确地打印语句而不用cout huddie96
我不相信它特定于Xcode。目的是允许您建立一个字符串,用于从多行代码输出到标准输出终端,该行只有在以\ n(或std :: endl)终止时才会发出。 – Kenny
您可以始终调用cout .flush()强制输出。 – Kenny