当前位置: 代码迷 >> C语言 >> [求助]
  详细解决方案

[求助]

热度:14   发布时间:2005-03-16 11:37:00.0
[求助]
请教:
在VC环境中:
   ++i=5;    //能通过编译
   i++=5;   //不能通过编译
为什么上述两句,一个能通过编译而另外一个却不能呢?
按书上所述,不是两个都不能通过编译吗?为什么却?
----------------解决方案--------------------------------------------------------
为什么我的两个都不可以通过编译呢
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int i;
    ++i=5;
printf("%d\n",i);
}
这个的运行结果为5;++i=5式中++的优先级比=高所以先执行++i,这时变量i的值变为了1,因为定义的i不是静态变量当执行=5时i的值也就把1释放了,重新为赋值为5,所以运行结果为5;


i++=5;这个我的VC也不能通过!

----------------解决方案--------------------------------------------------------
为什么我的两个都不可以通过编译呢
----------------解决方案--------------------------------------------------------
这样的式子有什么意义?
----------------解决方案--------------------------------------------------------
有意思
----------------解决方案--------------------------------------------------------
  相关解决方案