输入正整数,转换为相应的字符串
/**
输入一个正整数,转换为相应的字符串,保存在数组中。
**/
#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;
}