胡說(shuō)叔叔
2023-03-07 18:14:34
char *p=szText; //定義一個(gè)指針,指向字符數(shù)組元素for(int k=0;k<j;k++){ printf("%x",m2[k]);itoa(m2[k],szText,10);p++}//我這個(gè)程序中szText[]是一個(gè)字符數(shù)組,m2[]是一個(gè)整型數(shù)組,現(xiàn)在我想把m2[]中的十進(jìn)制數(shù)(許多個(gè))轉(zhuǎn)化為字符型并依次存到szText[]中,于是用了itoa函數(shù)。但是調(diào)試發(fā)現(xiàn)結(jié)果不對(duì)。該怎么辦?另外,指針是我后加的,為了依此遞增字符數(shù)組,但似乎如果十進(jìn)制數(shù)很大時(shí)就不行了,該怎么改?
3 回答

aluckdog
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
char類(lèi)型只有1個(gè)字節(jié)啊,范圍只是0-255或-128~127,int m2[]是4字節(jié),你輸入如果太大了會(huì)溢出。

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
szText要定義成二維的,才能放下很多個(gè)(比如10個(gè))。
//#include "stdafx.h"//vc++6.0加上這一行.
#include "stdio.h"
#include "stdlib.h"
void main(void){
char szText[10][11];
int m2[10]={1000000000,20000,1234567890,12,22,33,44,55,77,88};
for(int k=0;k<10;k++){
printf("%x ",m2[k]);
itoa(m2[k],szText[k],10);
printf("%s\n",szText[k]);
}
}
添加回答
舉報(bào)
0/150
提交
取消