若有说明imt d=5,则printf("%d,%d",d+5,d++)的输出结果是
来源:百度知道 编辑:UC知道 时间:2024/09/19 16:14:34
输出的结果是:
11,5
想不通吧,其实要结合编译原理来理解,语句:
printf("\n%d,%d\n",d+5,d++);
翻译为汇编的伪代码如下:
push d
inc d
push d+5
push "%d,%d"
call printf
能看明白了吧,C从右往左把参数压栈,对于d++是先push d然后在inc d,这就是关键所在。