| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1274 人关注过本帖
标题:C语言怪题
取消只看楼主 加入收藏
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
结帖率:100%
收藏
已结贴  问题点数:25 回复次数:3 
C语言怪题
程序代码:
#include<stdio.h>

#define BASE_ONE (sizeof(array) / sizeof(array[0]))
int array[] = {14278,285714,428571,571428,714285,857142};
int main() 
{
    int d;
    for(d=-1;d <= (BASE_ONE-2);d++)
        printf("%d\n",array[d+1]);
    return 0; 
}
上面的程序哪里错了呢?
if(解释正确 && 回贴靠前)
    得分~!;
搜索更多相关主题的帖子: C语言 
2010-04-01 22:08
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:0 
以下是引用longlong89在2010-4-1 22:17:15的发言:

285714,428571,571428,714285,857142
 
运行环境?
符合ANSI C89,C99均可,例如C-FREE,VS2008,GCC。。。。。。

无聊创造奇迹。
2010-04-01 22:21
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:0 
以下是引用shanshuilanr在2010-4-1 22:38:00的发言:

如果你是用负数的话,它的存储方式是反码,当然不可以了,个人意见,
算没解释清楚,真遗憾,负数存储方式确实是正数反码再加一,但为啥不可以呐?要把当然也解释的清楚。

无聊创造奇迹。
2010-04-01 22:46
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:0 
以下是引用forever74在2010-4-2 10:26:51的发言:

俺再鸡蛋里挑点骨头:
在语句d <= (BASE_ONE-2)中把d称为左值,(BASE_ONE-2)称为右值的说法不妥,容易误导初学者。
左值l-value,右值r-value是赋值术语,不宜滥用。
在这里不妨称之为左操作数、右操作数更恰当一些。
哦,的确是这样的,当时没发觉这里不妥,感谢forever74的指点。

无聊创造奇迹。
2010-04-02 10:30
快速回复:C语言怪题
数据加载中...
 
   



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

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