还是贴代码吧,这样来得实际,. aNum = 700;
bNum = 65; char *aCout;
itoa(aNum, aCout, 10);
char *bCout;
itoa(bNum, bCout, 10); 这段代码看似没什么问题,
就是把int类型的aNum和bNum转成char类型并赋值给aCout和bCout.
可是奇怪的是为什么执行之后,转换成char*类型的aCout和bCout都是65了.?
按理说ipCout应该是700,sucCout才是65.真的是让我百思不解.
知道的说一下.我现在的程序就卡在这个地方了,闷死了.
bNum = 65; char *aCout;
itoa(aNum, aCout, 10);
char *bCout;
itoa(bNum, bCout, 10); 这段代码看似没什么问题,
就是把int类型的aNum和bNum转成char类型并赋值给aCout和bCout.
可是奇怪的是为什么执行之后,转换成char*类型的aCout和bCout都是65了.?
按理说ipCout应该是700,sucCout才是65.真的是让我百思不解.
知道的说一下.我现在的程序就卡在这个地方了,闷死了.
itoa(aNum, aCout, 10);
//是有问题的,acount是野蛮指针,itoa不会分配内存
char aCount[65];
itoa(aNum, aCout, 65);
请先New一下吧。或者直接自己写转化。比如:int num;
char str[100];转化函数:
void trans()
{
int num_temp =num;
int len =0;
do
{
str[len]= num_temp % 10 +'0';
len++;
num_temp \ = 10; }while (num_temp = 0);}
str[len]= 0; \\字符串结束
{
int num_temp =num;
int len =0;
do
{
str[len]= num_temp % 10 +'0';
len++;
num_temp \ = 10; }while (num_temp == 0); //应该是 == 刚才打错了} str[len]= 0; \\字符串结束
C是 do... while 的,
一到吃饭时间,就傻了。
//内存空间都没分配,转换过来后,数据放哪呢
void main()
{
int aNum = 700;
int bNum = 65;
char aCout[10] = {0};
itoa(aNum, aCout, 10);
char bCout[10];
itoa(bNum, bCout, 10); cout<<"aCout="<<aCout<<"\tbCout="<<bCout<<endl;
}