• C++ 实现按随意键继续~~~


    近期让学生敲代码交作业的时候要求他们仅仅给我交个cpp文件和一个exe文件,这样交上来的东西不至于太多,不占我的地方,可是有一个问题是exe它总是执行完后就直接关闭界面了,看不到执行结果的界面。

    然后我就教他们说,用一个cin语句,让界面停留一下等待用户输入,这样我们就能够看得到界面了。(我认为眼下为止,它们也还仅仅能接受这样的方式吧?)

    今天下课之后,一个学生一脸汗且非常严肃的来问了我几个问题。

    为什么#include<conio.h>文件头去掉.h就不行了?在用到getch()函数的时候要包括这个文件头。

    这个。。。我想没有为什么吧?我仅仅能告诉他说由于getch()仅仅存在<conio.h>中,没有在<conio>然后std中~~~

    然后他又问我,rand()函数的头文件是哪个?#include<stdlib.h>? ~~~~~~~~~~我想说,为什么还要问呢?

    回到宿舍洗完澡之后,我又想起这个问题,认为我有必要把正经的能让程度按随意键继续的那个函数找出来,然后我常旧百度了一下。

    答案是这种:假设用stdio.h,那能够用getchar();假设用stdlib.h,那就用system("PAUSE");假设用conio.h,那就用getch()。

    然后我编了个小程序去试一下,由于我记得,在VC6.0环境下,用getchar()并不须要加头文件stdio.h。

    我的程序例如以下:

    #include<iostream>
    using namespace std;

    int main()
    {
     int i;
     cin>>i;
     cout<<i<<endl;
    getchar();

     return 0;
    }

    然后执行结果是,它根本没有停留,依旧自我的结束了执行。

    正当我想下个结论说"当getchar()遇上cin的时候它就失效了"的时候,我看到了这样一个答案:由于用getchar()仅仅能接收到一个字符,当你输入n值后,按了回车键,这个值在windows平台下是两个ASCII字符/n/r也就是回车换行,当回车时/n被控制台接收而/r没有,/r让紧接其后的getchar()接收了,于是就出现了以上情况。

    哦~~~原来如此。

    可是,getch()就没有这个问题,我试过了。

  • 相关阅读:
    安卓状态栏适配暗黑模式
    HtmlUnit框架:新建窗口与在新窗口打开链接
    Kotlin/Java下载文件(基于HttpClient Fluent API)
    导出可执行jar包
    Kotlin协程重要概念介绍
    MyBatis学习笔记
    执行上下文
    axios封装
    基础类型
    css特效基础
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3787969.html
Copyright © 2020-2023  润新知