#include #include#include #include using namespace std;void integerToString(int &number, char *str){int m = number;char *strTemp = str;while(m){*strTemp++ = m%10 + '0';m = m/10;} *strTemp = '\0';char *strStart = str, *strEnd = (strTemp-1);while(strStart < strEnd){char temp = *strStart;*strStart = *strEnd;*strEnd = temp;strStart++;strEnd--;}}void main(){int number = 234567;char *strNumber = NULL;strNumber = new char[50];// printf("please enter a number: ");// scanf("%d",&number);integerToString(number,strNumber);//以字符串输出,注意是地址//printf("%s",strNumber); //下面这种是按内容输出/*int len = strlen(strNumber);for(int i =0;i<len;i++)printf("%c",*(strNumber+i));printf("\n");//注意使用删除数组方式delete []strNumber;*///下面是按地址递增输出int len = strlen(strNumber);char *p = strNumber;for(int i =0;i<len;i++)//我认为:如果不用*p地址,strNumber指到len位置,最后释放空间时,len那一段没有释放,就出错。printf("%c",*p++); //优先组指针符和自增同一个优先级,运算是从左往右的,所以,先取指针再地址增加。printf("\n");delete []strNumber; }