结果是对的,只不过多个数之间没有空格或者缺少换行
printf("%d\t", i); 或者 printf("%d\n", i);
printf("%d\t", i);
printf("%d\n", i);
另外代码可以精简一下:
if (a % i == 0 && b % i == 0) { printf("%d\n", i); }
这不是错了,这是你没有将输出结果回车换行或者空格连在一起了,其实是1 2 4 8
可以在输出的时候换行,或者指定长度,打个空格也可以