【发布时间】:2014-01-08 08:55:01
【问题描述】:
我需要一些帮助,似乎找不到问题所在,我的程序应该只取八进制数字,然后计算 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;
}
【问题讨论】:
-
给出你提供的输入样本和你得到的输出。
-
你应该永远使用gets。您无法指定读取的最大字符数,并且可能会导致缓冲区溢出。
-
printf2%ds 但只给出一个值?