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,

最佳答案

我可能会做这样的事情:

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");
    }

关于c - 如何摆脱C代码中的最后一个逗号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43056590/

10-12 14:51