gpt4 book ai didi

c - undefined reference 'getchar_unlocked' 错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:13 26 4
gpt4 key购买 nike

我正在尝试解决一个 codechef 练习题 subtraction game 1使用 C 编程和代码块作为 IDE。我找到了一种比 scanf() 函数更快地读取输入的方法,但是当我运行我的程序时,我收到错误“ undefined reference 'getchar_unlocked' 错误”。你们能告诉我我做错了什么吗?有没有其他方法可以更快地读取输入?

#include<stdio.h>
inline int fastread()
{
int noRead=0;
char p=getchar_unlocked();
for(; p<33;) {
p=getchar_unlocked();
};
while(p>32) {
noRead = (noRead << 3) + (noRead << 1) + (p - '0');
p=getchar_unlocked();
}
return noRead;
};
unsigned int gcd(unsigned int a, unsigned int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main()
{
int t,i,answer=0;
unsigned int n;
t = fastread();
while(t--)
{
n = fastread();
unsigned int a[n];
for(i=0;i<n;i++)
a[i]=fastread();
answer = gcd(a[0],a[1]);
for(i=2;i<n;i++)
answer = gcd(a[i],answer);
printf("%u\n",answer);
}
return 0;
}

最佳答案

引用 this回答 SO

getchar_unlocked is deprecated in Windows because it is thread unsafe version of getchar().

与 scanf 或 cin 相比开销较少的 getchar_unlocked 不是 c 或 c++ 的标准功能,您始终可以在此处为此目的使用 getchar()。

或者您可以编写一个函数 getchar_unlocked() 来返回 getchar() 的值,以用于机器测试目的(如果您必须在您的在线问题中使用它)。

关于c - undefined reference 'getchar_unlocked' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com