CPP printf在VS2012上没有输出

时间:2014-04-15 05:43:28

标签: c++ visual-studio-2012

我正在使用Microsoft Visual Studio 2012 Professional。我有一个简单的CPP代码:

#include "stdio.h"

int main () {
int a = 0, b = 0, c = 0;
printf("\nEnter two numbers:\n");
scanf("%d %d", &a, &b);

c = a+b;
printf("\nc = %d", c);
return 0;
}

我面临的问题是第一个printf语句正在打印,但第二个不是。代码正在退出而不打印任何内容。但是,当我使用断点进行调试时,c的值将存储在其中。

3 个答案:

答案 0 :(得分:1)

我会猜测并说你从IDE运行它。

它确实打印输出。但程序结束了。它结束得如此之快,你看不到输出。如果您希望程序等待您查看,您需要找到一种让它等待的方法。例如,使用另一个scanf行。

由于没有标准的,环境无关的方式来说“按任意键继续”,请查看here以获取其他替代方案。

答案 1 :(得分:0)

\n添加到最后printf的末尾。实现定义了stdout的最后一行输出是否实际刷新,如果它不以换行结束。

答案 2 :(得分:-1)

使用时

  

scanf("%d%d",& a,& b);

然后你应该用空格分隔2个输入或输入

  

scanf("%d,%d",& a,& b);

然后你应该用逗号(,)分隔2个输入。

并且最后使用

  

printf("按任意键继续.."); getche();而不是返回;