免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 网鬼
打印 上一主题 下一主题

[C] 一道C语言指针运算的基础题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-08-02 19:05 |只看该作者

回复 #1 网鬼 的帖子

后缀++和--操作符本质上比前缀一元操作符的优先级高,因此*p++和*(p++)等价,它自增p并返回p自增之前所指向的值。要自增p指向的值,则使用(*p)++,如果副作用的顺序无关紧要也可以使用++*p。

论坛徽章:
0
12 [报告]
发表于 2009-08-02 22:23 |只看该作者
也来凑凑热闹...
11,11
11,12
12,20
20,20

论坛徽章:
0
13 [报告]
发表于 2009-08-03 09:23 |只看该作者
看看…………
错得一塌糊涂

[ 本帖最后由 mgqw 于 2009-8-3 09:30 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2009-08-03 10:14 |只看该作者
11 11
11 12
12 20
20 20

论坛徽章:
0
15 [报告]
发表于 2009-08-03 10:16 |只看该作者
完全正确,YES

论坛徽章:
0
16 [报告]
发表于 2009-08-03 11:07 |只看该作者
11 11
11 20
11 12
20 20

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
17 [报告]
发表于 2009-08-03 11:10 |只看该作者
猜猜看
11,10
10,20
10,20
20,20


===============
对比了一下答案,哎,++的副作用

[ 本帖最后由 openspace 于 2009-8-3 11:11 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2009-08-03 11:44 |只看该作者
#include <stdio.h>
int main()
{
    int x[] = {10, 20, 30};
    int *px = x;
   
    printf("%d,", ++*px);  //11,10
    printf("%d\n", *px);
   
    px = x;
    printf("%d,", (*px)++);//11,10
    printf("%d\n", *px);
   
    px = x;
    printf("%d,", *px++);21,21
    printf("%d\n", *px);
   
    px = x;
    printf("%d,", *++px);20,20
    printf("%d\n", *px);
   
    return 0;
}

论坛徽章:
0
19 [报告]
发表于 2009-08-03 11:57 |只看该作者
看看答案……

论坛徽章:
0
20 [报告]
发表于 2009-08-03 13:57 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP