首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >编写一个函数,显示三个不同数字的所有不同组合

编写一个函数,显示三个不同数字的所有不同组合
EN

Stack Overflow用户
提问于 2018-10-23 02:24:48
回答 1查看 3K关注 0票数 -1

我的函数my_putchar

代码语言:javascript
复制
#include <unistd.h>
void my_putchar(char c)
{
    write(1, &c, 1);
}

我的函数my_print_comb

代码语言:javascript
复制
#include <unistd.h>
int my_putchar(char c);
void my_print_comb(void)
{
    int i;
    int j;
    int k;
    for(i = 48; i <= 57; ++i)
    {
        my_putchar(i);
        for(j = 48; j <= 57; ++j)
        {
            for(k = 48; j <= 57; ++k)
            {
            }
        }
    }
}

my_putchar(',');
my_putcahr(' ');
my_putchar('\n');
}

我的主要内容是:

代码语言:javascript
复制
#include <unistd.h>
int my_print_comb(void);
int main ()
{
    my_print_comb();
    return (0);
}

所以我想用./ex | cat -e来编写所有的combi

代码语言:javascript
复制
the combi 012, 013, 014, ..., 789$

我试着使用这个函数,但我只写了这样的bug : A@^

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 03:31:07

您的内部循环正在针对错误的变量进行测试。您没有打印内部循环中的三位数。我还切换到使用字符常量'0‘和'9’,以使代码更易于阅读和错误检查。(我认为拼写错误的putcahr不在原始代码中。)

编辑后补充说:对不起,我在问题中漏掉了“不同”这个词。我将把它的具体实现留给读者作为练习,因为您没有发布任何试图检查它的代码。但是在内部代码块周围添加一个if检查应该可以做到这一点:if(test){my_putchar(i); my_putchar(j);...}

代码语言:javascript
复制
void my_print_comb(void)
{
    int i;
    int j;
    int k;
    for(i = '0'; i <= '9'; ++i)
    {
        for(j = '0'; j <= '9'; ++j)
        {
            for(k = '0'; k <= '9'; ++k) // k, not j, is tested against '9'
            {
                my_putchar(i);
                my_putchar(j);
                my_putchar(k);
                my_putchar(',');
                my_putchar(' ');
            }
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52935546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档