c语言中,把整数转化为字符串的函数是什么,怎么用?
c语言中,把整数转化为字符串的函数是什么,怎么用?
首先调用stdlib.h库
用法:
char *itoa(int value,char *string,int radix);
value 为要被转换的整数值,string 为转换后的字符串,radix为转换的基数。
itoa 函数将value 的值转换为以空字符结束的串,结果存在string所指位置。
radix 必须为2~36
如果value<0,且radix=10,则string的第一个字符为负号。
itoa 最多返回17个字节。
举例:
main()
{
int value,radix;
char string[15];
value=-1234;
radix=10;
printf("%s",itoa(value,string,radix));
}
如果没-号,radix定为2可以吧?
value=1234;
itoa(value,string,2);
printf("%s",string);
可以吗?
main() { long n,tem; int i=0; char string[15],*ptr;
ptr=string;
scanf("%ld",&tem);
if (tem<0)*ptr++='-',tem=-tem;
n=tem;
while(n)n/=10,i++;
ptr+=i-1;
*(ptr+1)='\0';
n=tem;
while(n)*ptr--=n%10+48,n/=10;
printf("%s",string); getch(); }
请教while(n)是不是等效于while(n!=0)
knocker:
这位仁兄!请听听我的愚见,你的这个程序的算法倒是很有创意,通过ASCII码来转换字符串。
1。请注意一下缩排!
2。请在必要的地方加上大括号!
3。我很欣赏你的程序思路。
TO:ythome 仁兄
1。请注意一下缩排!
答:缩排问题我从不关注,当然我的意思不是不要,而是不需要写程的人手工进行。完全可以用格式化软件完成,或者自己写一个格式化软件也不是很难。就本程序而言,没缩排的必要,一行一个语句,都是并列关系。
2。请在必要的地方加上大括号!
答:有时我在想","运算符就是给我这种懒人准备的,可以少打很多字符.
3。我很欣赏你的程序思路。
答:我常上论坛,也常回贴,目的就是锻炼思维交流算法,算法有时和C语言的学习时间并不成正比,新手有时也会写出个极妙的算法。
请教while(n)是不是等效于while(n!=0)
等效,是对while(n!=0)的优化