鱼C论坛

 找回密码
 立即注册
查看: 2998|回复: 4

C语言问题求组一下

[复制链接]
发表于 2013-8-19 09:27:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ″梦里花 于 2013-8-19 09:32 编辑

#include < stdio.h>

int f(int a, int b, int c)
{
        int z;
        z = a + b * c;
        return z;
}
int main()
{
        int x = 3 ,y;
        y = f(x, x++,x++);
        printf("%d",y);
        getchar();
}

输出为什么是17?  谁能帮我解释一下哦
为什么a b c三个值 分别为3 4 5  而不是 5 4  3:shy:  新人不要喷啊   2008编译器
还有为什么VC6.0是12哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-19 09:34:32 | 显示全部楼层
必须喷,不喷不足以泄愤啊。
开个玩笑。这种问题涉及到的知识面挺广的。我说几个,楼主自行查资料。
1.前置++后置++
2.函数调用约定,参数入栈顺序。
3.从汇编层面理解函数调用。

明白了上面三个,此问题就比较简单了。望楼主早日大成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 09:51:29 | 显示全部楼层

谢谢啊 帮了大忙{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-19 10:01:12 | 显示全部楼层
小甲鱼在汇编程序中有讲过这个问题,建议有空也看看汇编。对你有帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-19 11:59:28 | 显示全部楼层
三个值不是3 3 3吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-15 01:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表