输入正整数,转换为相应的字符串
/**
输入一个正整数,转换为相应的字符串,保存在数组中。
**/
#include <stdio.h>
void printdec(unsigned int num)
{
if (num >= 10 )
{
printdec(num /10 );
}
putchar(48 + num % 10 );
}
int printdec2str(unsigned int num, char *p)
{
int pos = 0 ;
if (num >= 10 )
{
pos = printdec2str(num / 10 , p);
}
*(p + pos) = 48 + num % 10 ;
return pos + 1 ;
}
int main(void )
{
int num = 0 ;
char str[20 ] = {0xFF };
printf("Please input a num:\n" );
scanf("%d" ,&num);
str[printdec2str(num, str)] = '\0' ;
printf("The num has been converted to string.\n" );
puts(str);
return 0 ;
}
输入字符串,转换为正整数
/**
输入一个字符串,转换为相应的正整数
** /
int str2num(char *pstr , int *num )
{
while (*pstr != '\0' )
{
if (*pstr > '9' || *pstr < '0' )
{
return 1 ;
}
*num *= 10 ;
*num += *pstr - '0' ;
pstr++;
}
return 0 ;
}
int main(void)
{
char str[20 ] = {0xFF} ;
int num = 0 ;
printf ("Please input a integer:\n" );
scanf("%s " ,str);
if (str2num(str, &num))
{
printf ("input error !\n" );
}
else
{
printf ("num = %d \n" , num);
}
return 0 ;
}