当前位置: 代码迷 >> C语言 >> 一个非常简单的问题?
  详细解决方案

一个非常简单的问题?

热度:26   发布时间:2008-03-14 15:05:15.0
一个非常简单的问题?
我是新手,一个很低级的问题,希望大家不吝回答一下!
#include<stdio.h>
main()
{
    int p,q;
    int x=8,y=8;
    p=(x++)+(x++)+(x++);
    q=(++y)+(++y)+(++y);
    printf("%d,%d,%d,%d\n",p,q,x,y);
}
为何运行结果为24,31,11,11


书上说的结果是24,33,11,11
而q=31实在让人搞不懂!
----------------解决方案--------------------------------------------------------
在TC编译怎么会没结果啊
----------------解决方案--------------------------------------------------------
不知道。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
    int p,q;
    int x=8,y=8;
    p=(x++)+(x++)+(x++);
    q=(++y)+(++y)+(++y);
    printf("%d,%d,%d,%d\n",p,q,x,y);
}
程序没有错!!!
但是,在我的机上运行是正常的
----------------解决方案--------------------------------------------------------
++x与x++的区别
----------------解决方案--------------------------------------------------------
我运行结果也是24,33,11,11.
----------------解决方案--------------------------------------------------------
据说是不同的编译器处理  “ = ”两边式子顺序不同,有的是从左往右,有的是从右往左....
----------------解决方案--------------------------------------------------------
为何我的运行结果是24,31,11,11啊?
----------------解决方案--------------------------------------------------------
我运行结果也是24,33,11,11
----------------解决方案--------------------------------------------------------
我用的是:::vc++6.0
----------------解决方案--------------------------------------------------------
  相关解决方案