首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

初学者的有关问题!

2012-02-27 
菜鸟的问题!!!int ii3 -i++ printf(%d, i )最后输出的i 应该是对少啊 ?关键是怎么算的请讲详细点!!

菜鸟的问题!!!
int i ;
i=3 ;
-i++ ;
printf("%d", i );

最后输出的i 应该是对少啊 ?
关键是怎么算的 请讲详细点!!

[解决办法]
#include <stdio.h> 
void main(){ 
int i,t ;
i=3 ;
t=-i++ ;
printf("%d\n%d\n", i,t );

i最后结果是4.而-i++的值是-3.
这里要注意的是负号运算符与"++"运算符同优先级,而结合方向为"自右向左",即t相当于-(i++),先取出i的值3,因为i++是先用3参与运算再增值,所以输出t=-3,然后i增值为4.

[解决办法]
int i ;
i=3 ;
-i++ ; //这条语句等价于i = i + 1;负号没有负作用可以忽略,因为这里-i++没有赋值给任何变量。
printf("%d", i ); 

再不懂就。。。

热点排行