我正在慢慢地从使用 Python 转向使用 C++,但我不明白如何运行任何代码。我正在使用 g++ 编译器,但我的函数没有得到任何结果。
// arrays example
#include <iostream>
using namespace std;
int foo [] = {16, 2, 77, 40, 12071};
int n, result=0;
int main ()
{
for ( n=0 ; n<5 ; ++n )
{
result += foo[n];
}
cout << result;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我在 VSCode 中运行此示例并指定我要使用 g++ 编译器,它将返回:Terminal will be reused by tasks, press any key to close it.。如果我通过 cmd 编译它并运行任务,一个新的 cmd 窗口会闪烁,但什么也没有发生。
我找到了 g++ 文档,其中说明了如何使用 g++ 进行编译,它显示了以下示例:
#include <stdio.h>
void main (){
printf("Hello World\n");
}
Run Code Online (Sandbox Code Playgroud)
但我什至无法运行编译器,因为它说
error: '::main' must return 'int'
void main(){
^
Run Code Online (Sandbox Code Playgroud)
如何在 cmd 或 ide 终端中打印内容?我不明白。
我相信您使用 VSCode 的方式是错误的。您必须知道它默认没有集成编译器,但您需要在命令行中编译源文件并运行可执行文件:
$ g++ hello.cpp
$ ./a.out
Run Code Online (Sandbox Code Playgroud)
您的第一个示例运行没有问题。检查这里
void main()你的第二个例子有一个错误,因为C++ 中没有。相反,你需要有
int main() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
更新
如果运行可执行文件导致打开和关闭窗口,您可以使用以下方法之一修复该问题:
#include <iostream>
using namespace std;
int main() {
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <iostream>
using namespace std;
int main() {
do {
cout << '\n' << "Press the Enter key to continue.";
} while (cin.get() != '\n');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么不需要 std::endl ?
一些评论建议改变
cout << result;
Run Code Online (Sandbox Code Playgroud)
到
cout << result << endl;
Run Code Online (Sandbox Code Playgroud)
将解决问题,但在这种情况下,当上面的行是主函数中的最后一行时,这实际上并不重要,因为程序的退出会刷新当前使用的所有缓冲区(在这种情况下std::cout)。
| 归档时间: |
|
| 查看次数: |
2876 次 |
| 最近记录: |