OriginalGriff
То change
и modify
функции работают с глобальной переменной x
что вы объявляете непосредственно над main
функция:
#include<stdio.h>
int x;
int main()
Внутри
main
, вы объявляете новую переменную с именем
x
(дважды), но он недоступен вне метода. Но поскольку вы на самом деле ничего не делаете ни с одним из трех из них (или даже ничего не делаете с возвращаемыми значениями, вы действительно не можете видеть.
И он все равно не будет компилироваться!
Если вы переименуете переменные, это станет немного более очевидным - я также разберусь с ошибками компиляции:
#include<stdio.h>
int global_x;
int change();
int modify();
int main()
{
global_x=20;
int local_x=10;
printf("%u\n", change());
printf("%u\n", modify());
printf("global x: %u, local_x: %u\n", global_x, local_x);
}
int change()
{
return (global_x+=20);
}
int modify()
{
return (global_x+=30);
}
Беги и посмотри, что получится!