C ++,不会显示最后一行代码

时间:2013-08-13 19:57:55

标签: c++

不应该这样吗?我的意思是,代码只是一个测试,意味着对话就是这样:你的名字是什么?在这里命名,你好名字在这里,但是在我输入我的名字并点击输入它只是消失之后它没有显示Hello的最后一行。这是代码。

#include <iostream>
#include <string>

int main (void)
{ 
    using std::cin;
    using std::cout;
    using std::string;
    string name = "";
    cout << "What is your name, pls?\n";
    cin >> name;
    cout << "\nHello " << name.c_str() << "\n";
    return 0;
} 

7 个答案:

答案 0 :(得分:2)

我的猜测是你从调试器运行,或者双击可执行文件。在任何一种情况下,当程序结束时,控制台将关闭。所以,程序产生了输出,但在控制台关闭之前你却看不到它。

从预先存在的控制台运行程序,以便在程序结束后控制台保留。或者,在调试时,安排您的程序在发出最终输出后不会立即终止。一个简单的方法是在程序结束时放置一个断点。

答案 1 :(得分:1)

它可能在它消失之前显示出来。如果您要编写控制台程序,并且如果您要将输出发送到控制台,则应该从控制台运行它们,以便输出有一些地方可以去。

答案 2 :(得分:1)

完成程序后,按Ctrl + F5 ( Run without debugging)。这将在关闭窗口之前提示,这就是你想要的。

答案 3 :(得分:1)

确保在main超出范围之前放置断点。我猜你的控制台在VS下消失了吗?

此外,您不需要在最后一个cout语句中提取char *:

cout << "\nHello " << name << endl;

答案 4 :(得分:0)

  1. 打开终端(或命令提示符窗口)。
  2. 导航到包含可执行文件的文件夹。
  3. 运行它。
  4. 它并没有消失。它运行得非常快。

    每个IDE都有一个键盘快捷键,允许您在执行完成后运行代码并暂停。

    此键盘快捷键是Visual Studio中的Ctrl-F5。

    我不知道您正在运行什么IDE,但这是您的基本问题。

    你可以做的另一件事是在ideone中测试你的代码:ideone.com/hb4Cel(这是相同的代码。没有必要在这里粘贴它)

答案 5 :(得分:-1)

一个肮脏的解决方法是添加类似这样的东西

cin >> name;

最后,就在return 0;之前。它强制窗口在返回之前等待输入(即命中返回)(关闭程序)。

这不一定是好的设计,但如果你想要做的就是运行一些测试,那么它就可以了。

答案 6 :(得分:-2)

基本上,当您输入姓名时,它会显示您的最后一行,并在返回0后退出。 以下是要避免的事项 1-使用命令行运行应用程序
    开始 - &gt;附件 - &gt;命令提示符     转到应用程序使用cd命令的文件夹

 c:>cd c:\path\foldername


现在通过输入程序名称来运行应用程序,例如

 c:\path\foldername>my_application.exe


它会显示你的最后一行。

2-现在,如果您使用的是microsoft visual c ++,请按ctrl + F5运行程序

3-不建议这样做,但只要您正在调试就可以使用它,然后将其从代码中删除。包含conio.h头文件并添加getch();返回声明前的行。它会为你按住屏幕,直到你按下一个键。