itoa 数字转换成为字符串

没想到面试这么简单的题也写了半天没写出来,哎 

#include "stdio.h"
#include "stdlib.h"


/*
Converts an int or long into a character string
将一个整数转化为字符串
*/
void my_itoa(int n, char s[])
{
	int i, j, sign;

	if ((sign = n)<0)    //记录符号
		n = -n;         //使n成为正数
	i = 0;
	//do{
	//	s[i++] = n % 10 + '0';    //取下一个数字
	//} while ((n /= 10)>0);      //循环相除
	while (n > 0)
	{
		s[i++] = n % 10 + '0';
		n = n / 10;
	}
	if (sign<0)
		s[i++] = '-';
	s[i] = '\0';
	for (j = i - 1; j >= 0; j--)        //生成的数字是逆序的,所以要逆序输出
		printf("%c", s[j]);
}


void main()
{
	int n;
	char str[100];
	my_itoa(-123, str);
	printf("\n");

	//printf("%d\n", my_atoi("123"));
	system("pause");
}

 

你可能感兴趣的:(b笔试题,工作)