永发信息网

c语言 谁能帮我解析这道题

答案:2  悬赏:30  手机版
解决时间 2021-03-31 07:05
  • 提问者网友:世勋超人
  • 2021-03-30 15:34
c语言 谁能帮我解析这道题
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-03-30 16:50
fun(i++);相当于fun(i); i++;

printf("m=%d
k=%d",m,k++);相当于printf("m=%d
k=%d",m,k); k++;执行过程:
k=0;[k=0],i=4;[i=4]
fun(4);[m=4],m+=k;[m=4],k+=m;[k=4],输出[m=4换行k=4],k++;[k=5]
i++;[i=5],输出:[i=5k=5换行]总输出:

m=4
k=4i=5k=5

全部回答
  • 1楼网友:北方的南先生
  • 2021-03-30 17:49
这题主要是c语言里++操作符的使用
fun(i++) 表示参数i在执行完这条语句后再做+1操作,等价于fun(i);i++;
而如果是fun(++i)则表示先进行+1操作,再带入函数,等价于:i++;fun(i);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯