将 int 转换为字符串指针 C

错误 404

写一个函数,得到两个字符串和数字,函数的签名:void get_formated_integer(char *format, char *result, int num)函数num根据给定的数字转换format并返回变量中的字符串result,用于%b将整数转换为数字的二进制,例如,对于调用:get_formated_integer("%b",&result, 18);then *resultwill获取字符串10010

我的代码:

   #include <stdio.h>
  void convert_binary(int num)//converts decimal number to binary
{
    if(num>0)
    {
    convert_binary(num/2);
    printf("%d", num%2);
    }

}

void get_formated_integer(char *format, char *result, int num)
{
    if(format[1]=='b')
      convert_binary(num);
}

int main()
{
    char result[100];
    get_formated_integer("%b",&result, 18);
}

我的输出:

10010

我不明白怎么做*result才能得到字符串10010

对不起我的英语

玛丽安

首先,更换

void convert_binary(int num)//converts decimal number to bi

void convert_binary(int num, char * result) //converts decimal number to binary

为了有一个地方(result)来存储结果。


二、替换它的主体——递归调用和直接打印

{
    if(num>0)
    {
    convert_binary(num/2);
    printf("%d", num%2);
    }
}

{
    static int i = 0;              // Offset in result for storing the current digit
    if(num>0)
    {
        convert_binary(num/2, result);
        sprintf(result+i, "%d", num % 2);
        ++i;
    } else 
        i = 0;
}

即用于递归调用(更新函数)和存储部分值的语句。


三、按照之前的改动,替换你原来的定义

void get_formated_integer(char *format, char *result, int num)
{
    if(format[1]=='b')
      convert_binary(num);
}

void get_formated_integer(char *format, char *result, int num)
{
    if(format[1]=='b')
        convert_binary(num, result);       // Only this is different
}

四,在您的main()函数末尾放置打印结果的语句(因为我们将递归调用中的直接打印更改为存储):

    printf("%s\n", result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++将int转换为内联字符串

来自分类Dev

C-将子字符串转换为int

来自分类Dev

C ++将字符串转换为int函数

来自分类Dev

C ++将字符串转换为int

来自分类Dev

将字符串转换为int-objective c

来自分类Dev

C ++将int转换为内联字符串

来自分类Dev

为什么将C ++字符串转换为int?

来自分类Dev

C ++将字符串转换为int函数

来自分类Dev

C#将字符串转换为int

来自分类Dev

C# 将字符串转换为 int 出错

来自分类Dev

将字符串转换为 int C#

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

C程序将空格分隔的int的输入字符串转换为int数组

来自分类Dev

将Swift字符串数组转换为C字符串数组指针

来自分类Dev

将Swift字符串数组转换为C字符串数组指针

来自分类Dev

将 int[][] 转换为字符串

来自分类Dev

如何在编译时将C字符串转换为int?

来自分类Dev

将数字字符串从文件转换为C中的int数组

来自分类Dev

安全地将int转换为C中的字符串

来自分类Dev

C将Char数组(字符串)转换为int数组

来自分类Dev

C ++将int转换为具有未知基数的字符串的简便方法

来自分类Dev

如何使Visual C ++警告将int静默转换为字符串?

来自分类Dev

C#将XML节点字符串转换为Int32

来自分类Dev

安全地将int转换为C中的字符串

来自分类Dev

将数字字符串从文件转换为C中的int数组

来自分类Dev

C#LINQ聚合将字符串转换为int

来自分类Dev

将int转换为搜索栏函数C#的字符串

来自分类Dev

C程序,将字符串转换为int数组命令行