请教把int型数据转换成char*..谢谢

xxxzheng 2006-08-15 11:27:05
我程序中想实现的目标就是想在一个字符指针char *device[500]中循环赋值如device[0]="2000"
device[1]="2001"......。我现在的想法是首先声明一个int d[500].然后循环对数组d赋值。最后把d的值转换成char*并且赋值给device;
我的程序如下:会出现内存不能读错误。
main()
{
char *device[200];
int d[200];
d[0]=2000;
for(int i=1;i<200;i++){
d[i]=d[i-1]+1;
printf("d[%d]=%d\n",i,d[i]);
}
device[0]="2000";
/**这里程序有问题**/
device[1]=(char*)malloc(sizeof(char));
printf("device[0]=%s\n",device[0]);
device[1]=(char*)d[199];
printf("device[1]=%s\n",*device[1]);
printf("device1=%s",device[0]);
}

请多指教。。。
谢谢
...全文
197 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxxzheng 2006-08-15
  • 打赏
  • 举报
回复
谢谢
我刚试了。。。谢谢。。。谢谢
lj860603 2006-08-15
  • 打赏
  • 举报
回复
程序帮你改过来了,现在应该没有问题。
#include<stdio.h>
#include<stdlib.h>
main()
{
int i;
char *device[200];
int d[200];
d[0]=2000;

for(i=1;i<200;i++){
d[i]=d[i-1]+1;
printf("d[%d]=%d\n",i,d[i]);
}
device[0]="2000";
/**这里程序有问题**/
device[1]=(char*)malloc(10*sizeof(char));
printf("device[0]=%s\n",device[0]);
itoa(d[199], device[1], 10);
printf("device[1]=%s\n",device[1]);
printf("device1=%s",device[0]);
}
lj860603 2006-08-15
  • 打赏
  • 举报
回复
printf("device[1]=%s\n",*device[1]);
//这里也有问题。*device[1] =========》device[1]
lj860603 2006-08-15
  • 打赏
  • 举报
回复
device[1]=(char*)d[199];
//这里有问题啊。不可以这样转换,用函数itoa();
adintr 2006-08-15
  • 打赏
  • 举报
回复
整数转字符串不时那样转的,
用 itoa 函数

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧