Witam, mam kilka zadań z AWK i potrzebuję małej pomocy. Chcę się przede wszystkim dowiedzieć, czy dobrze rozumiem zasady działania.
Czy 7 zostaje przypisana do count przy każdym przejściu do następnego rekordu? Wtedy możliwe wyniki to tylko 7 lub 8. Czy jednak instrukcja zawarta w BEGIN jest wykonywana tylko na samym początku(z tego co wiem właśnie tak jest, BEGIN jest wykonywane przed przeczytaniem strumienia danych wejściowych), a count "zapamiętuje" wszystkie te kolejne liczby i wtedy w zależności od spełnienia warunku pozostaje niezmienione lub poprzednia wartość powiększa się o 1? Chciałabym się upewnić czy dobrze mi się wydaje.
Jaki będzie wynik działania poniższego programu jeśli na wejściu podano: 12wsdasa12312dsadasd?
#include <stdio.h>
int main(int argc, char** argv) {
char c;
int sum = 0;
while ((c = getchar()) != EOF) {
if (c >= '0' && c <= '9')
sum += c - '0';
}
printf("%d\n", sum);
return 0;
}
W tym zadaniu niestety czuję się zagubiona i proszę o wyjaśnienie co dokładnie się dzieje po kolei.