请高手指导这是怎么回事
#include <iostream.h>#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int number = 1234;
char string[4];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
结果:[bo]integer=1024 string=1234[/bo]
当我把a[4]改为a[5]时,有正确了
结果:[bo]integer=1234 string=1234[/bo]
请指教!
----------------解决方案--------------------------------------------------------
字符串最后面需要有一个结束符'\0',所以必须给他留出多一个字节的空间
----------------解决方案--------------------------------------------------------
老师说过\0算一个字节!
----------------解决方案--------------------------------------------------------
字符串和字符数组的区别就是 多了个'\0'
----------------解决方案--------------------------------------------------------
但是为什么number变而string不变呢
----------------解决方案--------------------------------------------------------
就是```怎么变化的不是string呢
----------------解决方案--------------------------------------------------------
我估计是itoa函数对number有影响``
----------------解决方案--------------------------------------------------------
求你了,能不能不估计啊
----------------解决方案--------------------------------------------------------
不会啊 number没变 你看错了吧
----------------解决方案--------------------------------------------------------
我用DEV调试了一下``是4的时候的确是1024换成5就1234了
----------------解决方案--------------------------------------------------------