免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: pmerofc
打印 上一主题 下一主题

[C] 有多少C程序员认为这是错误的写法 [复制链接]

论坛徽章:
0
471 [报告]
发表于 2012-12-05 08:44 |只看该作者
错误的写法         

论坛徽章:
0
472 [报告]
发表于 2012-12-07 06:56 来自手机 |只看该作者
没问题罢,在一篇文章中看到过数组是连续储存的

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
473 [报告]
发表于 2012-12-07 16:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
474 [报告]
发表于 2012-12-10 10:25 |只看该作者
麻烦楼主把 int i,int j加上吧。另外把答案公布,不能简单问题神秘化

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
475 [报告]
发表于 2012-12-10 11:49 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
476 [报告]
发表于 2013-01-01 00:15 |只看该作者
#include <stdio.h>                              
int main( void )
{
    float score[4][5], *pscore = *score ;
    int i,j;
    for( i = 0 ; i < 4 ; i++ )
    {
        for( j = 0 ; j < 5 ; j ++ )
            scanf("%f", pscore + 5 * i + j );
    }
    /*
    其他代码
    */
    return 0;
}

这段代码实际运行一定出现问题,运行结果为:

Debug Error!

Program: C:\test\Debug\test.exe
runtime error

只修改一点点即可:

#include <stdio.h>                              
int main( void )
{
    float score[4][5] = {0}, *pscore = *score ;
    int i,j;
    for( i = 0 ; i < 4 ; i++ )
    {
        for( j = 0 ; j < 5 ; j ++ )
            scanf("%f", pscore + 5 * i + j );
    }
    /*
    其他代码
    */
    return 0;
}

有兴趣可参见《scanf输入浮点数时的问题》 http://kan.weibo.com/con/3521420118952837?_from=text

   

论坛徽章:
0
477 [报告]
发表于 2013-01-01 02:02 |只看该作者
结果上是正确的但是语义上是错误的,该选哪个 = =

论坛徽章:
0
478 [报告]
发表于 2013-01-01 02:45 |只看该作者
回复 476# 晓得飞天千秋雪

原先那段代码在 MinGW 下 gcc 4.7.0 编译后正常运行表示无压力……

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
479 [报告]
发表于 2013-01-01 09:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
480 [报告]
发表于 2013-01-01 15:13 |只看该作者
回复 478# timothyqiu


是的,我说的是在Visual C++ 6.0下的问题,换个编译器也许无此问题,可能是编译器自身的bug。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP