发一个简单的C程序,大家觉得结果是什么呢

2020-01-22 12:05发布

本帖最后由 xiaoyigechaos 于 2014-8-16 19:05 编辑

int c=9,d=0;
c=(c++)%5;
d=c;
问d最后的结果是几
标准C编译器下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
56条回答
xiaozuowei118
1楼-- · 2020-01-28 02:15
是5,应该是不会错的。下次写程序还是要注意,最好是分开写;
duanll
2楼-- · 2020-01-28 03:54
 精彩回答 2  元偷偷看……
wxty
3楼-- · 2020-01-28 09:08
wye11083 发表于 2014-8-16 21:10
5。按照C语言标准,c首先赋值9%5=4,然后c自增=5。VC2010编译结果为5。VC2010除了不支持C99外,其它特性支 ...

支持!

不过看这类问题,就感觉在浪费时间,。
iquer
4楼-- · 2020-01-28 14:45
weijia 发表于 2014-8-16 20:07
0吧,得5是不可能的,就算你说它后面再++,也是10啊,怎么可能是5

怎么会不是5?语句的执行顺序应该是:
c=c%5;
c++;
d=c;
csmjmcc
5楼-- · 2020-01-28 17:11
iquer 发表于 2014-8-17 20:07
怎么会不是5?语句的执行顺序应该是:
c=c%5;
c++;

wshtyr大侠不是把三种编译环境的结果都贴出来了吗?为什么不不劳而获呢?
wye11083
6楼-- · 2020-01-28 20:15
xiaoyigechaos 发表于 2014-8-16 21:18
这里的括号 有没有是不是一样的呀
先执行这个c%5=4  然后 把执行c=c+1 这是c是10
再然后执行赋值操作,c ...

C标准中,++操作符是在当前语句中执行完毕之后再执行的,不是在一开始执行的。

一周热门 更多>