2016-05-04 9 views
0

Dies ist ein Programm, das ich im Netz stieß, die den Wert berechnet.Wie können wir sicher sein, dass der Wert von 'b' am Anfang in diesem Code 0 ist

#include <stdlib.h> 
#include <stdio.h> 

long a=10000,b,c=2800,d,e,f[2801],g;//--------HERE the value of b---------// 

int main() 
{ 
    printf("\nValue of b: %ld", b); 
    getch(); 
    for(;b-c;) 
     f[b++]=a/5; 
    for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) 
     for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b); 
} 

Der berechnete Wert ist korrekt. Aber wie könnte der Programmierer sicher sein, dass der Anfangswert von b0 wäre?

Es scheint überhaupt nicht initialisiert zu werden!

Gibt es etwas Spezielles über den Anfangswert globaler Variablen?

+2

Globale Variablen werden standardmäßig auf Null initialisiert. –

Antwort

0

Wie bereits in der Frage this erwähnt, werden globale Variablen standardmäßig auf 0 initialisiert.

In Ihrem Code wird b als globale Variable deklariert.