社区
C语言
帖子详情
连加时候出现的问题?
zalyer
2003-01-16 11:22:39
一道课后题目:
main()
{ int x,y,z;
x=y=1;
z=x++-1;
printf(“%d,%d\n”,x,z);
z+=-x+++++y; /*加号中间没有空格*/
printf(“%d,%d\n”,x,z);
}
但是在我注释的地方编译过不去。
于是改成 z+=-x++ + ++y; 结果是:3,0
但如果写成z+=-x+ + +++y; 结果就是:2,0
我是在tc2中编译的。请问为什么?
...全文
44
1
打赏
收藏
连加时候出现的问题?
一道课后题目: main() { int x,y,z; x=y=1; z=x++-1; printf(“%d,%d\n”,x,z); z+=-x+++++y; /*加号中间没有空格*/ printf(“%d,%d\n”,x,z); } 但是在我注释的地方编译过不去。 于是改成 z+=-x++ + ++y; 结果是:3,0 但如果写成z+=-x+ + +++y; 结果就是:2,0 我是在tc2中编译的。请问为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
WaterSpinach
2003-01-16
打赏
举报
回复
编译器编译这种连着的符号时有一个原则:在正确的前提下尽可能的长
所以
在 z=x++ - 1时 // x = 2 , z = 1
后面为z+=-x++ + ++y 时// 则 x=3, z = z + (-3) + 2 , 所以 z 为 0
后面为z+=-x+ + +++y 时// 则 x =2, +++y 按上述规则解释为++(+y),即
最后一个+号相当于正负号,所以 z = -2 + 2 , 所以 z 也为 0
你必须知道的495个C语言
问题
1.5 这样的声明有什么
问题
?char*p1,p2;我在使用p2的时候报错了。 1.6 我想声明一个指针,并为它分配一些空间,但却不行。这样的代码有什么
问题
?char*p;*p=malloc(10); 声明风格 1.7 怎样声明和定义全局变量...
为什么哈希加密后还要加盐?
大家都知道,不管什么系统,只要有用户登录模块的,必然在系统数据库中会存有用户的用户名和密码。用户名明文存储完全没有
问题
,这里我们就谈谈如何正确地来存储用户的密码。
数据库什么时候建立索引合适呢??
听到这个
问题
的时候,是不是有些茫然? 我连什么是索引都不是很清晰明了,你给我讲什么建立索引的时机?!!! 是的,很多同学只是有所耳闻,并且可能就是只知道索引可以优化sql效率,但是至于其所以然并不清晰...
什么是CAS机制?如何解决ABA
问题
?
你知道什么是CAS机制吗?...2.什么是ABA
问题
?怎么解决? 答:当一个值从A更新为B,再从B更新为A,普通CAS机制会误判通过检测。解决方案是使用版本号,通过比较值和版本号才判断是否可以替换。
面试中常问的你在项目开发中遇到过哪些
问题
怎么回答?
一、你在项目开发中遇到过哪些
问题
? 此
问题
的回答一般从三个方向入手,一是技术
问题
,二是解决方案
问题
,三是甲方或团队配合
问题
,针对这三个方面的
问题
回答示例。 一、技术方面: 开发项目过程中遇到
问题
是难免的...
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章