CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

问个小问题 路过的看看撒

楼主sinos_sinos(挑战不是障碍 人生处处精彩)2005-06-03 12:28:15 在 C/C++ / C语言 提问

 
  char     *str  
   
  可以这样写么     *str   ++       ?  
   
  若可以     方向是从右到左的吧先  
  问题点数:10、回复次数:23Top

1 楼maxcai(cailin)回复于 2005-06-03 12:31:48 得分 1

好比(*str)++Top

2 楼foochow(无聊,灌水......)回复于 2005-06-03 12:33:57 得分 1

左到右吧-_-Top

3 楼sinos_sinos(挑战不是障碍 人生处处精彩)回复于 2005-06-03 12:38:36 得分 0

本意是   地址   加   的  
   
  按两位的意思是   地址里的内容     加   ?  
  Top

4 楼copygirl(wa!)回复于 2005-06-03 12:46:49 得分 2

都被你们给搞糊涂了,明明是右联合嘛:  
  #include   "stdio.h"  
   
  main()  
  {  
          char   *a="jfkdla;jei";  
          printf("%c",*a++);  
          printf("%c",*a++);  
          getch();  
  }  
  输出jfTop

5 楼foochow(无聊,灌水......)回复于 2005-06-03 12:46:49 得分 0

*(str++)Top

6 楼lbing7(向青润老大学习!!!)回复于 2005-06-03 12:48:57 得分 0

*的优先级要高  
   
  ++低  
   
  你自己看看是怎么做吧!Top

7 楼sinos_sinos(挑战不是障碍 人生处处精彩)回复于 2005-06-03 12:49:49 得分 0

不加   ()     就不是   从右到左么?  
   
  Top

8 楼zsh6709(世界上没有后悔药吃的!!!)回复于 2005-06-03 12:56:33 得分 1

写法无所谓,重要的是理解:  
  *p++       运算首先访问*p,然后使p的值(数值)增1;  
  (*)p++   运算首先访问*p,然后使*p的值(地址值)增1;  
  知道了吗?Top

9 楼Cuiql(向前冲,向后看)回复于 2005-06-03 12:57:33 得分 1

*比++要高的.  
  Top

10 楼sinos_sinos(挑战不是障碍 人生处处精彩)回复于 2005-06-03 13:02:11 得分 0

#include   <stdio.h>  
   
   
    main()  
  {  
          char   *a="jfkdlajei";  
  while(*a){  
  if   (*a   !='i')  
  {  
  printf("%c",*a++);  
   
  }  
  }  
         
  }  
  怎么理解啊?Top

11 楼sinos_sinos(挑战不是障碍 人生处处精彩)回复于 2005-06-03 13:05:26 得分 0

printf("%c",*a++);       要是     给   *   加个()     就   错  
   
  给   *a     加   个括号   调试出异常    
   
  感觉是   从右到左的       先     a++     后   再*     取内容     结果是   jfkdlajeTop

12 楼sinos_sinos(挑战不是障碍 人生处处精彩)回复于 2005-06-03 13:17:20 得分 0

知道了     单操作数   是   从右向左的吧???  
   
  只有这样才能解释通啊  
   
  和赋值一样   吧Top

13 楼maxcai(cailin)回复于 2005-06-03 19:36:16 得分 1

sorry   *_@  
  http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/010.htm  
  ++   比   *   高一级  
  *   (str++)  
  再次说对不起啦   :(Top

14 楼hanxingwuqing(无效参数)回复于 2005-06-03 19:55:50 得分 0

*str   ++       等价于     *   (str++)    
   
  都是取   *str   ,然后str   增加   1    
  Top

15 楼pippen2333(学习是为了赚钱)回复于 2005-06-03 20:00:56 得分 0

(*str)   ++,*优先级高Top

16 楼QunKangLi(心里面疼得有点发酸 一定是有雾来了 打湿了我的眼眶)回复于 2005-06-03 21:37:54 得分 0

*(str++),++优先级高,++运算返回指针,*与返回的指针运算得旧指针指向的内容。Top

17 楼zhangyu21101213(羽)回复于 2005-06-03 23:19:26 得分 0

++和*是同优先级,但是右向左的结合方向啊  
  怎么会有这么多人说是*比++的优先级高啊?Top

18 楼flamedoor(flamedoor)回复于 2005-06-03 23:31:51 得分 1

*和++的优先级一样,只是这类运算符的结合方式是从右向作  
  所以,相当于   *   (str++)Top

19 楼foochow(无聊,灌水......)回复于 2005-06-04 00:02:03 得分 0

char     *str="asdfg";  
  *str++;  
  后缀++的优先级要比*高,这意味着++将对str进行操作,而不是对*str进行操作  
  *++str;  
  前缀++和*的优先级一样高,但是它们是从右到左的结合的,所以str将加1......-_-  
  Top

20 楼zero_degree()回复于 2005-06-04 00:13:38 得分 0

确实++的优先级高Top

21 楼tsocpp(小黑子)回复于 2005-06-04 00:22:32 得分 2

“++”、“--”、指针运算符“*”和取地址运算符“&”的优先级相同,按自右向左的方向结合。  
  对于*str++,先进行“++”运算,在进行“*”运算,因“++”是后置运算符,它等同于取*str的值参加运算,再使指针str的值加1。如:  
  int   a[5]={100,200,300,400,500},*str,b;  
  str=&a[0],b=*str++;  
  执行的结果是:b的值为100,str指向数组a的第一个元素a[1]。  
  表达式*str++等同于*(str++)表达式Top

22 楼tsocpp(小黑子)回复于 2005-06-04 01:31:18 得分 0

不好意思,修正一下刚才的错误:  
  表达式*str++应该等同于(*str)++表达式,而不是*(str++)  
  Top

23 楼bugebear3(bug)回复于 2005-08-08 09:41:23 得分 0

*和++的优先级是一样的,只是结合方向是右结合罢了,建议认为++优先级高于*的同学多找点资料看看.Top

相关问题

  • 路过 问个小问题 嘿嘿
  • 小问题,路过的顶一下。
  • 小问题路过请进来看看
  • 路过!顺便问个小问题!(马上给分)
  • 小问题,路过帮看一下,马上揭帖!!
  • 走过路过,请帮帮忙,遇到一个小问题?
  • 三个小问题,路过的来指点迷津。
  • asp小问题,路过的帮我瞧瞧!
  • 小问题,路过的经过的都进来看一下了---
  • 小小问题,关于checkbox的,路过快帮忙,在线等,立即揭帖!!!

关键词

  • 指针
  • 内容
  • 优先级
  • 运算
  • 运算符
  • 从右到左
  • 表达式
  • str
  • 结合
  • 看看

得分解答快速导航

  • 帖主:sinos_sinos
  • maxcai
  • foochow
  • copygirl
  • zsh6709
  • Cuiql
  • maxcai
  • flamedoor
  • tsocpp

相关链接

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

广告也精彩

反馈

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