תום המקורי המקורי
New member
שאלה בC- טווחי הכרה

#include <stdio.h> void f1(int x); void f2(int y); int x=20, y; void main() { y=5; f1(x); f2
; printf("main(): (x,y)=(%d, %d)\n", x,y); } void f1(int x) { printf("f1(): (x,y)= (%d,%d)\n", x,y); x=y=10; } void f2(int y) { printf("f2(): (x,y)=(%d,%d)\n", x,y); x=y=15; }
מה שמודפס:f1(): (x,y)= (20,5) f2()
x,y)=(20,10) main(): (x,y)= (15,10)
את ההדפסה הראשונה הבנתי, אבל לא הבנתי למה בהדפסה השניה, x=20 ולא 15? ובהדפסה השלישית, למה y לא שווה 15? תודה