【发布时间】:2018-06-14 12:36:20
【问题描述】:
试图写一个写3组数字组合并避免名声的c程序,C语言不是很好。我的一种情况有问题
int ft_putchar(char c){
write(1, &c, 1);
}
void ft_print_comb(void){
int numbers[3] = {48, 48, 48};
while(numbers[0] <= 55){
if((numbers[0] < numbers[1]) && (numbers[1] < numbers[2])){
ft_putchar(numbers[0]);
ft_putchar(numbers[1]);
ft_putchar(numbers[2]);
if(numbers[0] != 55){
ft_putchar(',');
}
if(numbers[0] != 55){
ft_putchar(' ');
}
if(numbers[2]++ >= 57){
numbers[2] = 48;
numbers[1]++;
}
if(numbers[1] >= 57){
numbers[1] = 48;
numbers[0]++;
}
}
}
}
int main(void){
ft_print_comb();
}
【问题讨论】:
-
while条件为真。if条件不是。那么while循环会循环多久呢? -
你应该告诉我们预期的输出是什么,你会得到什么。这也是开始使用调试器的好时机。逐步检查您的程序,看看会发生什么。
-
为了让你的程序更具可读性,你不应该使用幻数。您可以使用
'0'代替48等。 -
“有问题”是什么意思?你期待什么输出?
-
@Gerhardh@“更具可读性”->“便携”。
标签: c