黑马程序员技术交流社区

标题: 关于自增自减的问题 [打印本页]

作者: 大悟云    时间: 2014-10-29 19:42
标题: 关于自增自减的问题
# include <stdio.h>
int mian( )
{int i=2;
int j=3;
int a=i+++i++;
int b=++j+++j;
printf("a=%d,b=%d" ,a,b)
return 0
}
a=4,b=10
i++是执行完整个表达式的其他操作后再自增,++j是先自增后去参加其他运算。



作者: 李欢宇    时间: 2014-10-30 17:48
楼主i++和++j最好用括号括上,这样方便检查和阅读。
作者: 易拉罐    时间: 2014-10-30 19:29
你的这段程序能编译通过吗?
作者: 易拉罐    时间: 2014-10-30 19:31
你的这段程序能编译通过吗?

作者: 大悟云    时间: 2014-10-30 20:25
易拉罐 发表于 2014-10-30 19:31
你的这段程序能编译通过吗?

没有试过哦?哪里有错误啊,请指教,我刚学
作者: wenchang1989    时间: 2014-10-30 20:46
个人觉得没运行不通过呢,版主可以试试!!!
作者: 易拉罐    时间: 2014-10-30 20:52
大悟云 发表于 2014-10-30 20:25
没有试过哦?哪里有错误啊,请指教,我刚学

编译到这一句int b=++j+++j;就报错了。你最后还是加个括号来区分,这一句改成int b = (++j) + (++j);
作者: 大悟云    时间: 2014-10-30 21:16
易拉罐 发表于 2014-10-30 20:52
编译到这一句int b=++j+++j;就报错了。你最后还是加个括号来区分,这一句改成int b = (++j) + (++j); ...

哦,谢谢
作者: wenchang1989    时间: 2014-10-30 21:27
此处,计算有误,b的值是9,你可以运算试试!
作者: 大悟云    时间: 2014-10-30 21:44
运行错误

QQ图片20141030214424.jpg (123.7 KB, 下载次数: 23)

运行错误啊,哪里错了

运行错误啊,哪里错了

作者: 大悟云    时间: 2014-10-30 21:46
wenchang1989 发表于 2014-10-30 21:27
此处,计算有误,b的值是9,你可以运算试试!

我的运行错误啊,怎么回事

作者: 诺微_    时间: 2014-10-30 23:38
大悟云 发表于 2014-10-30 21:44
运行错误

printf("*****"); 和return 0 ;   后面没有加分号呢。
作者: 诺微_    时间: 2014-10-30 23:40
怎么感觉应该是a = 5; b = 9;呢  ?    没有运行,大家运行的结果是什么?
作者: 大悟云    时间: 2014-10-31 12:04
诺微_ 发表于 2014-10-30 23:40
怎么感觉应该是a = 5; b = 9;呢  ?    没有运行,大家运行的结果是什么?

我加分号也不对,我没有运行,不知道结果是 多少,你能运行试试吗?
作者: 诺微_    时间: 2014-11-1 23:09
本帖最后由 诺微_ 于 2014-11-1 23:15 编辑
大悟云 发表于 2014-10-31 12:04
我加分号也不对,我没有运行,不知道结果是 多少,你能运行试试吗?

之所以你不对   是因为1.你的main写错了   2.int a = i ++ + i++;没有写括号括住    3.printf和return后面没有写分号。   我今天测试了下  a = 5, b = 9;

QQ20141101-2.png (128.17 KB, 下载次数: 32)

QQ20141101-2.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2