在创建for循环时使用if

时间:2019-10-05 09:45:16

标签: c

我从用户那里得到一个号码,以用C语言打印图案。如果数字是奇数,就没有问题。但是,如果数字是偶数,则代码将打印1块以上!因此,我想检查for循环中的数字是否为偶数。

我尝试了这段代码,但是没有用:

for (i = 1; i <= numb + 2; i++) {

    if (numb% 2 == 0) {
        numb+= 1;
    }

    for (j = 0; (numb % 2 == 0) ? (j < numb) : (j < numb+ 1); j++) {

        if (i % 2 == 0) {
            printf("* %d * ", j);       
        }
        else {
            printf("***** ");
        }

    }
    printf("\n");
}

1 个答案:

答案 0 :(得分:1)

问题是for循环中第二条语句(条件“测试”)的语法。您需要重新排列代码,因此这是 语句:

for (j = 0; j < ( (numb % 2 == 0) ? numb : numb + 1 ); j++) {
    ...
}