为了账号安全,请及时绑定邮箱和手机立即绑定

具体程序很长,我不想写;但有一个问题想了好长时间,请不吝赐教。

具体程序很长,我不想写;但有一个问题想了好长时间,请不吝赐教。

胡说叔叔 2023-03-07 18:14:34
char *p=szText; //定义一个指针,指向字符数组元素for(int k=0;k<j;k++){ printf("%x",m2[k]);itoa(m2[k],szText,10);p++}//我这个程序中szText[]是一个字符数组,m2[]是一个整型数组,现在我想把m2[]中的十进制数(许多个)转化为字符型并依次存到szText[]中,于是用了itoa函数。但是调试发现结果不对。该怎么办?另外,指针是我后加的,为了依此递增字符数组,但似乎如果十进制数很大时就不行了,该怎么改?
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

char类型只有1个字节啊,范围只是0-255或-128~127,int m2[]是4字节,你输入如果太大了会溢出。

查看完整回答
反对 回复 2023-03-10
?
互换的青春

TA贡献1797条经验 获得超6个赞

你的思维比较混乱,其实很简单:


#include <stdio.h>#include <stdlib.h>int main(){ int m2[5] = {12,50,18,20,15}; char szText[20]; printf("将这些整数转化成字符串:\n");    for(int k=0;k<5;k++) {           itoa(m2[k],szText,10);  printf("%s\n",szText); } return 0;}

运行结果如下:


查看完整回答
反对 回复 2023-03-10
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

szText要定义成二维的,才能放下很多个(比如10个)。
//#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]);
}
}


查看完整回答
反对 回复 2023-03-10
  • 3 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号