c – getchar_unlocked()VS scanf()VS cin

c – getchar_unlocked()VS scanf()VS cin,第1张

概述这三种输入函数在编程语言中有什么区别? 他们是否以不同的方式相互输入? 1.getchar_unlocked() #define getcx getchar_unlocked inline void inp( int &n ) { n=0; int ch=getcx();int sign=1; while( ch < '0' || ch > '9' ){if(ch= 这三种输入函数在编程语言中有什么区别?
他们是否以不同的方式相互输入?

1.getchar_unlocked()

#define getcx getchar_unlocked inline voID inp( int &n )  {    n=0;    int ch=getcx();int sign=1;    while( ch < '0' || ch > '9' ){if(ch=='-')sign=-1; ch=getcx();}    while(  ch >= '0' && ch <= '9' )            n = (n<<3)+(n<<1) + ch-'0',ch=getcx();    n=n*sign;  }

2.scanf( “%D”,&安培; n)的

3.cin>将N

输入整数时最少需要一个?

我在c中使用THese头文件,其中所有3个case运行在c中;

#include<iostream>  #include<vector>  #include<set>  #include<map>  #include<queue>  #include<stack>  #include<string>  #include<algorithm>  #include<functional>  #include<iomanip>  #include<cstdio>  #include<cmath>  #include<cstring>  #include<cstdlib>  #include<cassert>
解决方法 两点要考虑.

> getchar_unlocked在windows中被弃用,因为它是线程不安全的版本的getchar().
>除非速度因素是必要的,尽量避免getchar_unlocked.

现在,就速度而言.

getchar_unlocked > getchar

因为没有输入流锁定检查getchar_unlocked,这使得它不安全.

getchar > scanf

因为getchar读取char字符的单个字符,而scanf可以读取c中可用的大多数原始类型.

scanf > cin (>> operator)

因为检查这个link

所以,终于

getchar_unlocked > getchar > scanf > cin
总结

以上是内存溢出为你收集整理的c – getchar_unlocked()VS scanf()VS cin全部内容,希望文章能够帮你解决c – getchar_unlocked()VS scanf()VS cin所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1232836.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存