C - 计数器不工作

时间:2014-01-08 08:55:02

标签: c string counter

我需要一些帮助,似乎无法找到问题,我的程序应该只采用八进制数字,然后计算4的数字并打印,但4的计数器不起作用。

#include <stdio.h>
#include <string.h>

int main (void) {
    char okt[6];
    int i, broj, brojac = 0;
    gets(okt);
    broj = strlen(okt);
    for (i = 0; i < broj; i++) {
        if (okt[i]>'7' || okt[i]<'0') 
            printf("Ucitani niz nije pravilno zadan ");
        else 
            if (okt[i] == 4) 
                brojac++;
    }

    printf("Znamenka 4 se pojavljuje %d puta %d", brojac);
    return 0;
}

2 个答案:

答案 0 :(得分:3)

okt[i] == 4应该是okt[i] == '4'吗?

答案 1 :(得分:1)

在比较char时,请在4周围加上单引号。

else if (okt[i] == '4') brojac++;

在下面的语句中还有两个%d期望两个int值。因此,您的第二个%d将打印0

printf("Znamenka 4 se pojavljuje %d puta %d", brojac); <-- Expecting two integers