why I get a wrong answer in this codes in C? : [enter image description here][1]


  [1]: https://i.stack.imgur.com/EEQMw.jpg


    #include <stdio.h>

    void fun(int a,int b,int c){
	    int *ret;
	    ret = &a -1;
	    (*ret)+=8;
    }
    int main(){
	    int x;
	    x = 0;
	    fun(1,2,3);
	    x = 1;
	    printf("x is %d\n",x );
	    return 0;
    }

in my opinion, the x is 1, but it's actually 0. What cause this?