int d=1; fun(int p) {int d=5; d+=p++; printf("%d",d); } main

学习 时间:2026-03-30 10:04:48 阅读:7054
int d=1; fun(int p) {int d=5; d+=p++; printf("%d",d); } main( ) {int a=3; fun(a); d+=a++;printf("最后一句是 printf("%d\n",d);}

最佳回答

虚幻的绿草

霸气的月饼

2026-03-30 10:04:48

d+=p++ 在这里跟d+=p 一样 ++在后面是先使用再自加。同理,d+=a++; 也一样。而fun里面的d跟main里面的d是两个完全不一样的东西。fun那个在函数里面定义,使用的范围只在函数里面,是local variable。main里面那个是全局的d。另外fun(int p)只传值,就是说,调用fun(a)之后,a的值不会改变。BTW,为什么你不把程序编译一次然后得出结论呢?从这个故事中得到的教训是:1,多余的++不要用。2,变量不要用这样的a,b,c,d,等简单又容易混淆的。要给个具体的名字。例如student,更好的话加上前序。如指针pStudent,全局变量gStudent等。其实答案就是5+3 和1+3等于多少。

最新回答共有2条回答

  • 还单身的斑马
    回复
    2026-03-30 10:04:48

    d+=p++ 在这里跟d+=p 一样 ++在后面是先使用再自加。同理,d+=a++; 也一样。而fun里面的d跟main里面的d是两个完全不一样的东西。fun那个在函数里面定义,使用的范围只在函数里面,是local variable。main里面那个是全局的d。另外fun(int p)只传值,就是说,调用fun(a)之后,a的值不会改变。BTW,为什么你不把程序编译一次然后得出结论呢?从这个故事中得到的教训是:1,多余的++不要用。2,变量不要用这样的a,b,c,d,等简单又容易混淆的。要给个具体的名字。例如student,更好的话加上前序。如指针pStudent,全局变量gStudent等。其实答案就是5+3 和1+3等于多少。

上一篇 含有数字的诗句,有诗人和诗题

下一篇 小学语文,音节是指什么,哪一部分?比如“乃”