| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 879 人关注过本帖
标题:[求助]x= -i++ 这个表达式的值究竟是怎么算出来的????
只看楼主 加入收藏
黄265
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:16
专家分:2
注 册:2022-8-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
[求助]x= -i++ 这个表达式的值究竟是怎么算出来的????
当i=8时,算到的结果是x=-9,i=10
这个最终i的值是如何算出来的?
搜索更多相关主题的帖子: 结果 i++ 表达式 
2022-08-17 09:36
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:27
帖 子:107
专家分:675
注 册:2021-7-1
收藏
得分:20 
供参考:
程序代码:
#include <stdio.h>
int main()
{
    int x, i = 8;
    x = -i++;//这句分解为:x = -i, i++; x = -8,i = 9
    printf("x=%d, i=%d", x, i);
    return 0;
}
//x=-8, i=9
2022-08-17 09:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
首先贴完整代码
程序代码:
#include <stdio.h>

int main( void )
{
    int i = 8;
    int x = -i++;
    printf( "i==%d, i==%d\n", i, x );
}


对于 x = -i++; 查询 https://zh. 可知:= 优先级最低,而 - 与 ++ 优先级一样,结合性是 从右到左
所以 int x = -i++; 被解析成 int x = -(i++);

再查 https://zh. 可知:后缀自增的评估值结果是i的值,副作用是 加相应类型的值1到运算数i,即 i++ 的值为8,副作用是i变为9
那么最终结果就是 x=-8, i=9
2022-08-17 10:12
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
收藏
得分:0 
先++再用数字前面的-变负数。
++在变量后,变量加一,返回原数。
结果是x = -8, i = 9

爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-08-17 14:43
快速回复:[求助]x= -i++ 这个表达式的值究竟是怎么算出来的????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017387 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved