我需要一些帮助,似乎无法找到问题,我的程序应该只采用八进制数字,然后计算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;
}
答案 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