CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

菜鸟请教:

楼主mayabuluo(玛雅部落)2004-05-04 19:55:49 在 C/C++ / C语言 提问

在c里,++放在前面和放在后面有什么区别???? 问题点数:0、回复次数:8Top

1 楼613613(无余)回复于 2004-05-04 20:08:54 得分 0

++i:先执行i=i+1后,再使用i值  
  i++:先使用i值后,在执行i=i+1  
  如:i=2;那么j=++i执行时:i值变为4,然后赋给j,j=4  
  j=++i执行的话,是先将i=3赋给j,j=3,然后i成为4。  
  (书上写的:))Top

2 楼613613(无余)回复于 2004-05-04 20:10:01 得分 0

++i:先执行i=i+1后,再使用i值  
  i++:先使用i值后,在执行i=i+1  
  如:i=3;那么j=++i执行时:i值变为4,然后赋给j,j=4  
  j=++i执行的话,是先将i=3赋给j,j=3,然后i成为4。  
  (书上写的:))  
   
  上面的写错了,(抄错:))Top

3 楼jjwkl2000(.oоО)回复于 2004-05-04 20:12:51 得分 0

举个简单的例子     i=2;a=i++;   a=2;   而   i=3;  
      b=++i;   b=3;     i=3;    
  Top

4 楼mayabuluo(玛雅部落)回复于 2004-05-04 20:15:02 得分 0

明白了Top

5 楼bobseadream(bobo)回复于 2004-05-04 20:33:16 得分 0

是有区别的,先看下面一段代码:  
  int   k,i=0;  
  k=i++;  
  printf("k=%d     i=%d\n",k,i);  
  i=0;  
  k=++i;  
  printf("k=%d     i=%d",k,i);  
  会输出如下结果:  
  k=0     i=1  
  k=1     i=1  
  可以看出:i++是先执行相关语句后再自增1,而++i是在执行语句之前先自增1。  
   
  Top

6 楼sbleon(范黎斯特鲁帝)回复于 2004-05-05 13:09:18 得分 0

哇~~~好厉害哦~~~Top

7 楼xz168888(静以修身)回复于 2004-05-06 11:33:31 得分 0

区别楼上的用一个很明了的程序回答了你但是我要说的是  
  正确对待他们的区别别乱用如果乱用会给你的程序带来你预料不到的问题特别在循环的时候要具体问题具体分析以免做的结果与预想的向违背!!!!!!!Top

8 楼79bo(山芋)回复于 2004-05-06 11:45:07 得分 0

如果在程序里单是写++i;和i++;,那么运行起来没有什么区别.  
  但如果是a=i++;和a=++i;就有区别了,a=i++;是先把i值给a,然后在自加1;a=++i是先自加1在把自加后的i给a;Top

相关问题

  • 菜鸟
  • 菜鸟
  • 菜鸟
  • 菜鸟菜问!
  • 菜鸟菜问
  • 菜菜鸟问!
  • 菜鸟问题 (菜鸟问)
  • 菜鸟中菜鸟提问
  • 菜菜菜菜菜菜鸟问题
  • 菜鸟菜问题

关键词

  • 执行
  • 使用i值
  • 区别
  • 程序

得分解答快速导航

  • 帖主:mayabuluo

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo