| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 364 人关注过本帖
标题:将整数转化成字符串并打印出错
只看楼主 加入收藏
ydxyls
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-25
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:4 
将整数转化成字符串并打印出错
//将整数转化成字符串并打印
#include<stdio.h>
int main()
{
    int num=12345,i=0;
    char *str, *strtmp, *strcpy;
   
    while(num)
    {
        *strtmp=num%10+'0';
        num=num/10;
        strtmp++;
        i++;
    }

    strcpy=str;
    while(i)
    {
        *str=*strtmp;
        str++;
        strtmp--;
        i--;
    }
    *str='\0';
   
    str=strcpy;
    printf("%s",str);
}
提示:unhandled exception abc.exe:0xc000005:access violation
请问问题出在哪里?
搜索更多相关主题的帖子: 打印 字符串 
2012-07-25 18:34
westfall999
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:40
专家分:101
注 册:2012-7-22
收藏
得分:1 
好像没有为char *str, *strtmp, *strcpy;分配内存空间的说。
2012-07-25 19:17
ydxyls
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-25
收藏
得分:0 
回复 2楼 westfall999
你说的对~谢谢啦~
2012-07-25 20:24
我乃新手
Rank: 2
等 级:论坛游民
帖 子:52
专家分:73
注 册:2012-7-23
收藏
得分:0 
这个方法不太好,不过很明了!
#include<iostream>
using namespace std;

char * inttostr(int n,char* str){
    int count=1;//计数器......
    int temp=n/10;
    while(temp){
        temp/1=10;
        ++count;
    }
    if(n<0){
        temp=-temp;
        ++count;
    }
    if(n<0){
        n=-n;
        str[0]='-';//添加首位'-'号;
    }
    str[count]='\0';//字符串结束符
    while(n){
        str[--count]=n%10+'0';//整数转化为字符串
        n/=10;
    }
    return str;
}
int main(void){
    int n=123456;
    char str[20]={0};//定义字符串,用于接收数据
    char* q=inttostr(n,str);
    cout<<q<<endl;
    return 0;
}
2012-07-26 13:38
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
对于指针 也不是很懂...

[ 本帖最后由 q215236213 于 2012-7-26 16:38 编辑 ]
2012-07-26 15:03
快速回复:将整数转化成字符串并打印出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040306 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved