|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [问题已解决][求助]一道简单的题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2135
人关注过本帖
标题:
[问题已解决][求助]一道简单的题
只看楼主
加入收藏
mp3aaa
等 级:
贵宾
威 望:
17
帖 子:2013
专家分:8
注 册:2006-2-15
第
11
楼
收藏
得分:0
哈哈 我终于明白了 Sally_SJL 你那样的解释 就等价于
main()
{ int i=3,c;
{c=i++;c+=++i;c+=i++;}
printf("%d\n%d\n",c,i);
}
羊肉串 葡萄干 哈密瓜!!
2006-08-02 01:49
举报帖子
使用道具
赠送鲜花
JMTT
等 级:
新手上路
帖 子:14
专家分:0
注 册:2006-7-16
第
12
楼
收藏
得分:0
刚刚调试了一下啊!是12!
2006-08-02 10:13
举报帖子
使用道具
赠送鲜花
nuciewth
来 自:我爱龙龙
等 级:
贵宾
威 望:
104
帖 子:9786
专家分:208
注 册:2006-5-23
第
13
楼
收藏
得分:0
有没有认为是4+4+4的?
倚天照海花无数,流水高山心自知。
2006-08-02 11:50
举报帖子
使用道具
赠送鲜花
论坛
等 级:
新手上路
威 望:
6
帖 子:1372
专家分:0
注 册:2006-3-27
第
14
楼
收藏
得分:0
I think is 4+4+4
日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-02 12:06
举报帖子
使用道具
赠送鲜花
cdmalcl
等 级:
贵宾
威 望:
24
帖 子:4091
专家分:524
注 册:2005-9-23
第
15
楼
收藏
得分:0
我对这种问题的一贯解决办法就是:
把它分解为
++i;
c=i+i+i;
i++;i++;
就是说在解决运算语句中的++问题时都是先把所有的 ++i 这样的运算都提到所在语句之前独立成语句
把所有i++这样的运算都降到下一语句独立成语句!
例如:
把这个程序改一下之后
main()
{ int i=3,c;
c=(i++)+(++i)+(i++)+(i++)+(++i)+(i++);
printf("%d",c);
getch();
}
它的运行结果是 30
用这种方法解释很通
百试不爽
至于为什么我一直没多想过
有点不负责
但是实在不想多在这个问题滞留
当然这种做法应该批评
呵呵
2006-08-02 13:11
举报帖子
使用道具
赠送鲜花
anthony634
来 自:西南交大
等 级:
贵宾
威 望:
24
帖 子:653
专家分:10
注 册:2006-6-8
第
16
楼
收藏
得分:0
以下是引用
cdmalcl
在2006-8-2 13:11:27的发言:
我对这种问题的一贯解决办法就是:
把它分解为
++i;
c=i+i+i;
i++;i++;
就是说在解决运算语句中的++问题时都是先把所有的 ++i 这样的运算都提到所在语句之前独立成语句
把所有i++这样的运算都降到下一语句独立成语句!
例如:
把这个程序改一下之后
main()
{ int i=3,c;
c=(i++)+(++i)+(i++)+(i++)+(++i)+(i++);
printf("%d",c);
getch();
}
它的运行结果是 30
用这种方法解释很通
百试不爽
至于为什么我一直没多想过
有点不负责
但是实在不想多在这个问题滞留
当然这种做法应该批评
呵呵
这是编译器问题吧,你这算法不是什么编译器都行的,VC里面是26。
2006-08-02 13:29
举报帖子
使用道具
赠送鲜花
nuciewth
来 自:我爱龙龙
等 级:
贵宾
威 望:
104
帖 子:9786
专家分:208
注 册:2006-5-23
第
17
楼
收藏
得分:0
同意楼上说的。
这样的问题也只有无聊的试卷上才有,谁编程会写这样的语句
倚天照海花无数,流水高山心自知。
2006-08-02 15:23
举报帖子
使用道具
赠送鲜花
xuelian
等 级:
新手上路
帖 子:9
专家分:0
注 册:2006-8-1
第
18
楼
收藏
得分:0
15楼的 你能给出用这样的方法来做的原因吗 你说是一贯可不可以有一定的参照依据
2006-08-02 15:53
举报帖子
使用道具
赠送鲜花
genie2014
等 级:
新手上路
帖 子:30
专家分:0
注 册:2006-6-21
第
19
楼
收藏
得分:0
3+4+3+2,不知道对不对.i最后取值=6
首先取第一个i取3,第二个i取3+1=4,第三个i取3,然后运算3+4+3,运算完后加上第一个和第三个i增值的1,两次增值故为2,所以结果为3+4+3+2.
我出学+自学,不知道对不对,就算是胡扯吧,有理大家就听,没理大家也让这点我,哈哈,谢谢大家了.
2006-08-02 16:36
举报帖子
使用道具
赠送鲜花
ccj
等 级:
新手上路
帖 子:84
专家分:0
注 册:2006-7-27
第
20
楼
收藏
得分:0
void main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
这个程序中,对P=(i++)+(i++)+(i++)应理解为三个i相加,故P值为15。然后i再自增1三次相当于加3故i的最后值为8。而对于q 的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。
河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-02 17:29
举报帖子
使用道具
赠送鲜花
53
2/6页
1
2
3
4
5
6
快速回复:
[问题已解决][求助]一道简单的题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019249 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved