В примере книги была дана такая функция, но я не совсем понимаю, как она может что-то вывести, если while бесконечно будет принимать текст и не закончится?
Подскажите, когда принтф сработает или как правильней записать подобную функцию?
#include <stdio.h>
int main(void) {
int c, digic, tabs, space, next;
while((c = getchar()) != EOF) {
switch(c) {
case '0' : case '1' : case '2' : case '3' : case '4' : case '5' :
case '6' : case '7' : case '8' : case '9' : digic++;
break;
case ' ' : space++;
break;
case '\t' : tabs++;
break;
default : next++;
}
}
printf("digic %d\n space %d\n tabs %d\n next %d\n", digic, space, tabs, next);
return 0;
}
И помогите со 2-ой функцией, если не трудно.
Почему ругается на массивы?
#include <stdio.h>
int ch() {
int c, int r[], int s[];
int i = 0;
while((c = getchar()) != '\n') {
s[i] = c;
i++;
}
for(int j = 0; j < i; j++) {
if(s[i] == '\t') r[j] = "\\t";
else r[j] = s[i];
}
printf("result %d\n", r[]);
}
int main(void) {
ch();
return 0;
}