社区
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中编译的。请问为什么?
...全文
28
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
作业
写回复
配置赞助广告
用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 怎样声明和定义全局变量...
为什么会
出现
浮动?浮动会带来哪些
问题
?清除浮动的方式有哪些?哪种较好?
浮动带来的
问题
: 1. 父元素的高度无法被撑开,影响与父元素同级的元素 2. 与浮动元素同级的非浮动元素(内联元素)会跟随其后 3. 如果当前元素浮动会影响后面元素,那么后面元素也得浮动(或者需要清除浮动) 清除...
C语言到底什么时候使用“空格”?初学者的常见
问题
到底怎么解决?
c语言到底什么时候空格?
数据库什么时候建立索引合适呢??
听到这个
问题
的时候,是不是有些茫然? 我连什么是索引都不是很清晰明了,你给我讲什么建立索引的时机?!!! 是的,很多同学只是有所耳闻,并且可能就是只知道索引可以优化sql效率,但是至于其所以然并不清晰...
什么是PCB中的光学定位点,不加可不可以?
这个
问题
在我平时的教学答疑
出现
的频次非常高,很多新手在初次接触这个概念的时候往往分不清楚这个光学定位点作用什么?从而导致他根本不知道什么时候该加,什么时候不加。今天我利用空闲时间写下这篇文章,方便后来...
C语言
70,020
社区成员
243,265
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章