for (i = 1; i < 100; ++i) {
if ((vt[i] <= (mid - 65)) || (vt[i] >= (mid + 65))) {
printf("%d, ", i);
n = 1;
}
}
if (n == 0) {
printf("n/a");
}
我希望输出类似于7,8,9,10,而不是7,8,9,10,
答案 0 :(得分:0)
我可能会这样做:
const char* fmt = "%d"; /* first item solo */
for (i = 1; i < 100; ++i) {
if ((vt[i] <= (mid - 65)) || (vt[i] >= (mid + 65))) {
printf(fmt, i);
fmt = ", %d"; /* subsequent items comma separated */
n = 1;
}
}
if (n == 0) {
printf("n/a");
}
答案 1 :(得分:0)
您可以使用变量n
作为标志。例如
for (i = 1; i < 100; ++i) {
if ((vt[i] <= (mid - 65)) || (vt[i] >= (mid + 65))) {
if ( n ) printf( ", " );
printf( "%d", i);
n = 1;
}
}
if (n == 0) {
printf("n/a");
}
P.S检查循环的索引是否应该从0或1开始。