# include<stdio.h>
# include<unistd.h>
void ft_putchar(char x){
write(1, &x, 1);
}
void ft_print_comb()
{
char i, j, k;
i = '0';
while(i <= 7){
i++;
j = i+1;
while(j <= 8){
j++;
k = j+1;
while(k <= 9){
k++;
ft_putchar(i);
ft_putchar(j);
ft_putchar(k);
ft_putchar(',');
ft_putchar(' ');
}
}
}
}
int main(){
ft_print_comb();
return 0;
}
我试着做了一些修改,但是它要么破坏了代码,要么一直没有输出。我试着做的是创建一个函数,以升序显示三个不同数字的所有不同组合,按升序列出。不允许使用for循环和printf函数。
2条答案
按热度按时间qzwqbdag1#
因为您使用的是
char
s,所以您应该比较字符文字而不是整数。例如,while
循环永远不会进入,因为'0'的ASCII码是48,大于7。dbf7pr2w2#
i是一个值为48的字符(ASCII码为'0'),因此不会进入while循环。请按以下方式设置i: