吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1417|回复: 27
收起左侧

[已解决] c语言指针问题

[复制链接]
蓝色魅影 发表于 2019-12-3 10:22
本帖最后由 蓝色魅影 于 2019-12-3 13:12 编辑

有点不理解*a--这一行的含义,调试看了一下,不理解为什么*a--之后*a是2,按理说不是1之前的地址吗
TIM图片20191203101946.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

姜云岩 发表于 2019-12-3 10:46
本帖最后由 姜云岩 于 2019-12-3 11:33 编辑

先说一下  8 4这两个值我也没看懂  但是我最近也在学c 指针的部分我前段时间也刚学过  下面我说一下我的想法
y=func(&x,&y);    调用函数  并把x的值传给a;y的值传给b  也就是此时*a=1,*b=2  在函数内部  比较ab大小  走else  *a-- *a自减运算a的值变成0  同时x的值改成0   *a+*b为2返回给y   y=2
x=func(*x,*y);  调用函数   x=0 y=2带入  走*a--  0-1的值  我觉得是-1
x=-1  
输出  x y的值    我觉得是  -1和 2  
上面是我自己的想法  我手边没有电脑现在  有的话运行一下  再分步输出一下值  就应该能知道哪里理解错了   或许我没有帮到你  但是我自己也学到点  后面我会继续关注的  期待你的结果
姜云岩 发表于 2019-12-3 10:54
姜云岩 发表于 2019-12-3 10:46
先说一下  8 4这两个值我也没看懂  但是我最近也在学c 指针的部分我前段时间也刚学过  下面我说一下我的想 ...

上面有一处说错了  最后y的值为1   -1+2    为2
姜云岩 发表于 2019-12-3 10:55
姜云岩 发表于 2019-12-3 10:56
姜云岩 发表于 2019-12-3 10:54
上面有一处说错了  最后y的值为1   -1+2    为2

为1   手残
年少无为 发表于 2019-12-3 10:56
*a--是a的值自减,不是*a表示的值自检,
sexgod 发表于 2019-12-3 11:16
在程序中,如果a为指针,*a为取指针指向的地址的值,如果操作地址的话,直接a--
 楼主| 蓝色魅影 发表于 2019-12-3 11:26
本帖最后由 蓝色魅影 于 2019-12-3 11:30 编辑
姜云岩 发表于 2019-12-3 10:46
先说一下  8 4这两个值我也没看懂  但是我最近也在学c 指针的部分我前段时间也刚学过  下面我说一下我的想 ...

我记得*a--中--的优先级是和*一样的,一样的话从右往左运算,所以应该是a的地址减1再取值
 楼主| 蓝色魅影 发表于 2019-12-3 11:28
本帖最后由 蓝色魅影 于 2019-12-3 11:30 编辑
sexgod 发表于 2019-12-3 11:16
在程序中,如果a为指针,*a为取指针指向的地址的值,如果操作地址的话,直接a--

1之前的地址应该怎么看,是看ascii码吗
 楼主| 蓝色魅影 发表于 2019-12-3 11:28
年少无为 发表于 2019-12-3 10:56
*a--是a的值自减,不是*a表示的值自检,

我知道,所以我不理解为什么地址减一再取值会是2
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 22:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表