C循环,计数器

时间:2016-07-15 03:44:37

标签: c loops

所以我试图把它变成一个有两组数字的计数器,我的逻辑似乎是正确的,它会增加到九,然后计数器将“翻转”下一个数字,依此类推。当我运行它虽然我只是得到零页,我想知道是否有人可以帮助或指出我正确的方向。

char ft_putchar(char c)
{
    write(1, &c, 1);
    return 0;
}

void ft_print_comb2(void)
{
    char num1a = '0';
    char num1b = '0';
    char num2a = '0';
    char num2b = '0';

    while (num1a != '9' && num2a != '9')
    ft_putchar(num1a);
    ft_putchar(num1b);
    ft_putchar(',');
    ft_putchar(' ');
    ft_putchar(num2a);
    ft_putchar(num2b);

    num2b++;
    if (num2b == '9')
    {
        num2b ='0';
        num2a++;
    }
    if (num2a == '9')
    {
        num2a ='0';
        num1b++;
    }
    if (num1b == '9')
    {
        num1b='0';
        num1a++;
    }
}

1 个答案:

答案 0 :(得分:3)

由于缺少大括号{{}},while有一个行身ft_putchar(num1a); 试试吧

void ft_print_comb2(void)
{
    char num1a = '0';
    char num1b = '0';
    char num2a = '0';
    char num2b = '0';

    while (num1a != '9' && num2a != '9')
    {
        ft_putchar(num1a);
        ft_putchar(num1b);
        ft_putchar(',');
        ft_putchar(' ');
        ft_putchar(num2a);
        ft_putchar(num2b);

        num2b++;

        if (num2b == '9')
        {
            num2b ='0';
            num2a++;
        }

        if (num2a == '9')
        {
            num2a ='0';
            num1b++;
        }
        if (num1b == '9')
        {
            num1b='0';
            num1a++;
        }
    }
}