none
运行结果一闪而过,使用scanf时自动退出 RRS feed

  • 问题

  • #include<stdio.h>

    int main()

    {

    printf("hello world !");

    return 0;

    }\\这时调试运行,在命令行里会发现结果一闪而过

    如果说上式在return 0;的前面加上 getchar();

    能够使得结果滞留,便于观看,但是,在运行下列代码时就不行了

    #include<stdio.h>

    int main()

    {

    int x,y;

    scanf("%d,%d",&x,&y);

    printf("%d/%d",x,y);

    getchar();

    return 0;

    }//在命令行输入2,8然后回车,会发现程序直接关闭,和上面一闪而过情况是一样的,那么请问我该怎么办呢?练习之中肯定是要看结果的呢!我的scanf函数难道就不能在我的电脑上用吗?

    2016年9月5日 4:17

全部回复

  • 回车也是一个字符。被getchar获取了。

    所以建议不能用getchar,而是用Ctrl+F5直接运行即可。

    或者参考:http://jingyan.baidu.com/article/5970355219faee8fc1074043.html


    ASP.NET Forum
    StackOverFlow
    FreeRice Donate
    Issues to report
    Free Tech Books Search and Download

    2016年9月5日 4:25
  • Hi 儒雅的懂得111,

    感谢在MSDN论坛发帖。

    对于你的问题,我建议你使用以下两种方法。

    1 使用Ctrl+F5调试运行,或者在结束前使用断点。

    2 使用Sytem("pause"),例如:

    #include<stdio.h>
    
    int main()
    
    {
    
    printf("hello world !");
    
    System("pause");
    
    return 0;
    
    }
    

    希望对你有所帮助。

    Best Regards,

    Sera Yu


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.

    • 已建议为答案 Langrisser 2016年9月29日 8:58
    2016年9月5日 5:42