假设我现在有这样一个要求:循环打印出0~5的值,且以空格分隔每个数,最后一个数之后不能打印空格,也就是说总共只能打印5个空格,这些空格均存在于两个数之间。
我们怎么做呢?其实很简单,我们打印0时只打印数值不打印空格,打印其他数值时先打印空格再打印数字,这样就不会多在最后一个数后打印一个空格。(示例以_代替空格)
循环第一次打印:0 循环第二次打印: _1 循环第三次打印: _2
循环第四次打印:_3 循环第五次打印: _4 循环第六次打印:_5
我们用运算符&&代码实现一下:
for(int i = 0; i < 6; i++){
i != 0 && printf(" ");
//等价写法:i && printf(" ");
printf("%d", i);
}
我们也可以定义一个变量作标志,通过它的值来控制输出格式
int flag = 0
for(int i = 0; i < 6; i++){
if(flag)printf(" ");
printf("%d", i);
flag = 1;
}