啊哈c吧 关注:387贴子:1,671
  • 4回复贴,共1

大佬们,萌新问下输入x是怎样输入,

只看楼主收藏回复

大佬们,萌新问下输入x是怎样输入,


IP属地:陕西来自Android客户端1楼2019-07-09 11:33回复
    scanf啊


    IP属地:江苏2楼2019-07-21 20:11
    回复
      在键盘上打


      IP属地:江苏3楼2019-07-21 20:12
      回复
        不知道楼主是想问啥,如果是用啥输入,那么就是scanf或者std::cin(C++)
        QAQ


        4楼2020-04-22 13:49
        回复
          如果是问scanf实现原理的话,可以参考scanf的源码
          #include <stdarg.h>
          int scanf(const char *format, ...)
          {
          va_list ap;
          int retval;
          va_start(ap, format);
          retval = _doscan(stdin, format, ap);
          va_end(ap);
          return retval;
          }
          不难看出scanf用的是变长参,va_start和va_list、va_end是stdarg.h中的一组宏,ap获取参数个数,而_doscan很长300行就不列出来了QAQ。如果是C++11可以用变长模板来解决这个问题:
          using namespace std;
          template <class T>
          void Get(T& t){
          cin >> t ;
          }
          template <class T, class ... Args>
          void Get( T& t, Args& ... args){
          cin >> t;
          Get(args...);
          }
          调用:
          int a,b;
          Get(a,b);
          宽字符版本可以将cin改成wcin。
          QAQ


          5楼2020-04-22 13:58
          回复