C语言的入门问题,大神帮下哦~ 感激不尽 在线等。谢谢
#include<stdio.h>main(){inta=1,b=0,i=1;printf("%d,%d\n",b=a+b,b=a+b);printf("%d\n",i+...
#include<stdio.h>
main()
{
int a=1,b=0,i=1;
printf("%d,%d\n",b=a+b,b=a+b);
printf("%d\n",i++);
printf("%d\n",a=b*2);
}
如上述所写,为什么输出的结果是
2,1
1
4
为什么第一个是2 不是1? 展开
main()
{
int a=1,b=0,i=1;
printf("%d,%d\n",b=a+b,b=a+b);
printf("%d\n",i++);
printf("%d\n",a=b*2);
}
如上述所写,为什么输出的结果是
2,1
1
4
为什么第一个是2 不是1? 展开
3个回答
展开全部
应该是函数调用约定的原因,后面的参数先入栈,所以先计算后一个b=a+b
详细参考 stdcall
详细参考 stdcall
参考资料: http://baike.baidu.com/view/1276580.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同编译器答案应该不同吧,你的编译器是从右边开始算的,也就是先算后面的b=a+b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询