| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:递增问题求教高手。
只看楼主 加入收藏
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:8 
递增问题求教高手。
#include <stdio.h>
int main()
{
    int i=5,j;
//    clrscr();
    j=i++;
    printf("i=%d,j=%d\n",i,j);
    i=++j;
    printf("\ni=%d,j=%d\n",i,j);
   
    printf("\ni=%d\n",++i);
    printf("\ni=%d\n",--i);
    printf("\ni=%d\n",i++);
    printf("\ni=%d\n",i--);
   
    j=-i++;
    printf("\ni=%d,j=%d\n",i,j);
    j=-i--;
    printf("\ni=%d,j=%d\n",i,j);
    printf("\ni = %d,%d,%d\n",i,i--,i--);
    getchar();
    return 0;
}


最后一个printf会输出6,6,6,不理解,求高手指点。
搜索更多相关主题的帖子: include return 
2011-08-23 21:52
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:4 
跟编译器有关,不必深究
2011-08-24 00:59
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:4 
printf("\ni = %d,%d,%d\n",i,i--,i--);
这就是最后一个printf输出语句,这个语句里边有三个%d,而上边的i值已经变成了“6”,此时的i,i--,i--三个表达式的值都是“6”,当然会输出“6,6,6”了


2011-08-24 14:33
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
收藏
得分:0 
回复 3楼 韩54521风
可是我觉得最起码也因该是6,6.5 啊,最后一个应该已经不是6了。

我的青春我做主,奋斗!
2011-08-25 09:33
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
不同的编译器对这种情况有不同的处理方式。用 gcc 编译得到的结果将是 4,5,6 所以说不必深究了
2011-08-25 10:38
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
收藏
得分:4 
请楼主听5楼的建议。
这种问题在C标准里是Undefined的问题,编译器作者想怎么处理怎么处理。

如果你将这个问题反汇编进行研究,熟悉了汇编,也倒是一种收获。~
2011-08-25 10:41
杜撰
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:53
专家分:69
注 册:2011-5-14
收藏
得分:0 
回复 6楼 naruto01
谢谢啊,

我的青春我做主,奋斗!
2011-08-25 10:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
专学这等恶劣文风,精通了也是白搭。跟某些人用函数指针实现goto语句一样,自以为学到九阴真经了,殊不知其实是九阴白骨爪。

授人以渔,不授人以鱼。
2011-08-25 10:52
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:4 
初学写程序,最好规范,让人一看就知道你的思路,哈哈,初学者能搞出什么值钱的程序啊!
有些初级教材,纯属害人!那些作者更是祸国殃民!
同意楼上的观点!顶个
2011-08-25 16:16
快速回复:递增问题求教高手。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved