当我编译下面的代码时,编译器显示了对itoa()函数的未定义引用。但是,当我搜索;我发现itoa()是标准的。为什么这样?使用itoa()函数
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
return 0;
}
不,没有标准C'itoa'函数。它是一些库实现的扩展。 –
为什么对某些编译器有限制? –
这不是“限制”,它实际上不是C标准或任何其他公布的标准的一部分。将字符串转换为整数的标准方法是[strtol函数](http://en.cppreference.com/w/c/string/byte/strtol)。 –