我正在使用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
的值将存储在其中。
答案 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();而不是返回;