写一个函数,输入一个整数,如何将其转换为字符串

比如输入了98,函数返回“98”。怎么做到?我知道怎么输出带双引号的,但是我不知道怎么转成字符串

c

3个回答

include # include void main (void); void main (void) { int num = 100; char str[25]; itoa(num, str, 10); printf("The number 'num' is %d and the string 'str' is %s. \n" , num, str); }

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 调用现成的,这个不算吧。
2 年多之前 回复
#include"stdio.h"
#include"math.h"


int main()
{
    int input = 0;
    char str[105];
    char inorder[105];
    int index = 0;
    while(scanf("%d", &input)){
        index = 0;
        while(input > 0){
            int tmp = 0;
            tmp = input % 10;
            str[index] = (char)(tmp+48);
            index ++;
            input /= 10;
        }
        for(int i=0;i<index;i++){
            inorder[i] = str[index-i-1];
        }
        printf("%s\n", inorder);
    }
    return 0;
}

Runner__1
T_world 回复hjn_jenny: 原理很简单,就是取出输入的数字的每一位,把这一位变成一个字符存入字符数组,然后整个数组就是一个string了,48是0的ascii码,因此后面的数字只要加上这个值就能得到对应的ascii码
2 年多之前 回复
Debug_dodge
Debug_dodge 回复hjn_jenny: 用48代替'0',最好还是不要这么写,容易出错
2 年多之前 回复
hjn_jenny
hjn_jenny 谢谢!不过运行出来有乱码 而且我也没看懂这个大概的原理哎...
2 年多之前 回复

兄dei,你inorder忘记写结尾的'\0'了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问