请问用itoa函数在tyvj和vijos上评测为什么编译错误?

(记数问题):
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
main()
{
int n,i,j,tot=0,len;
char x,s[8];
scanf("%d %c",&n,&x);
for (i=1;i<=n;i++)
{ itoa(i,s,10);
len=strlen(s);
for (j=0;j<=len-1;j++)
if (s[j]==x)
tot++; 
}
printf("%d",tot);
}

在Dev-C++上答案正确,可是在tyvj上:
评测结果
#0: Compile Error (0ms, 0KiB)
选手程序编译失败 Main.cpp: In function 'int main()': Main.cpp:11:15: error: 'itoa' was not declared in this scope { itoa(i,s,10); ^
#1: Compile Error (0ms, 0KiB)
#2: Compile Error (0ms, 0KiB)
#3: Compile Error (0ms, 0KiB)
#4: Compile Error (0ms, 0KiB)
#5: Compile Error (0ms, 0KiB)
#6: Compile Error (0ms, 0KiB)
#7: Compile Error (0ms, 0KiB)
#8: Compile Error (0ms, 0KiB)
#9: Compile Error (0ms, 0KiB)
向各位大神求解!!!

侃侃无极
浏览 171回答 2
2回答

慕丝7291255

itoa不是标准函数,请使用sscanf转换数字到字符串。itoa 为c语言的一个函数。itoa 函数是一个广泛应用的,从非标准扩展到标准的C语言。它不能被移植,因为它不是标准定义下的C语言,但是,编译器通常在一个不遵循程式标准的模式下允许其通过header ,因为它是一个从逻辑对应到标准库的函数。itoa 取整数输入值,并将其转换为相应进制数字的字符串。

慕标琳琳

找不到定义,这个编译器的标准库没有包含itoa的定义。
打开App,查看更多内容
随时随地看视频慕课网APP