#include <stdio.h>void itoa(int x,char *p){char a = x + 48 ;*p = a;printf("%c\n",*p);int main (int argc,char *argv[]){int y = 1;char q;itoa(y,&q);printf("%c\n",q);return 0;}这个程序只能实现一个数字转换成他的字符形输出,比如数字0转换成字符‘0’我上面写的子程序里面有两个参数,有一个是char*p,这个参数在主函数里面怎么用??
2 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
void itoa(int x,char* str)
{
int quo=1,mod=1,i=0,j=0;
char buffer[32]={0};
if(0==str)
{
return ;
}
for(i=0; 0 != quo; ++i)
{
mod = x%10;
quo = x/10;
x/=10;
buffer[i]=mod+48;
}
for(--i;i>=0;--i,++j)
{
str[j] = buffer[i];
}
str[j]=0;
}
//需要保证字符串是有空间的
如果懒得自己写
可以用sprintf,snprintf
有些问题最好是自己思考,等做出来,在考虑是否参考其他人的代码,这样才会快速提高
POPMUISE
TA贡献1765条经验 获得超5个赞
#include <iostream>
using namespace std;
void main()
{
int n;
char c[10];
cin>>n;
itoa(n,c,10);
cout<<c;
}
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消