3955 afișări Candale Silviu (silviu) 23.10.2019 www.pbinfo.ro
Etichete: nicio etichetă

Nu parcurgeți acest articol înainte de rezolvarea problemei!

Enunț

Se consideră următorul program:

int sum(int n, int a[], int s){
    s = 0;
    int i = 1;
    while(i <= n){
        if(a[i] != 0) s += a[i];
        ++i;
    }
    return s;
}
int main(){
    int n = 3, p = 0, a[10];
    a[1] = -1; a[2] = 0; a[3] = 3;
    int s = sum(n, a, p);
    cout << s << ”;“ << p; // printf("%d;%d", s, p);
    return 0;
}

Care este rezultatul afișat în urma execuției programului?

A. 0;0
B. 2;0
C. 2;2
D. Niciun rezultat nu este corect

Soluție

Răspuns corect: B

Justificare

Funcția sum returnează suma elementelor nenule din tabloul dat ca parametru. Aceste este (-1,0,3), deci suma este 2.

Parametrul s al funcției sum este transmis prin valoare; în consecință, în urma apelului parametru actual p se întoarce nemodificat, cu valoarea 0.

Se va afișa:

2;0

3955 afișări Candale Silviu (silviu) 23.10.2019 www.pbinfo.ro