为什么在此C代码中得到错误的答案?

时间:2018-09-10 04:01:36

标签: c pointers

enter image description here

#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;
}

我相信x应该为1,但实际上为0。是什么原因造成的?

0 个答案:

没有答案