| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 958 人关注过本帖
标题:不能运行,看看吧,应该没有错误,实在是找不到啊。。。。
只看楼主 加入收藏
zhangyin
Rank: 2
等 级:论坛游民
帖 子:22
专家分:43
注 册:2011-10-2
收藏
得分:0 
我试了下程序没有什么问题啊!
2011-10-18 12:51
xiehou314159
Rank: 2
等 级:论坛游民
帖 子:35
专家分:86
注 册:2011-5-11
收藏
得分:0 
回复 楼主 吴军旗
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

// 求一个数是否为素数。。。
int main(void)
{
    int i, k, m;

    scanf("%d", &m);
    k = sqrt(m);
    for (i=2; i<=k; ++i)
        if (m%i == 0)
            break;
    if (i > k)
        printf("%d是一个素数\n", m);
    else
        printf("%d不是一个素数\n", m);

    system("pause");
    return 0;
}

1. 我绝对是一个业余的初学者,经常看到楼主出现在论坛,可以肯定楼主的代码写的要比我多很多;
2. 对于该程序本身我不做评价,仅针对程序风格和论坛里的一个常见错误说一下个人的看法;
3. 总的来说,你的代码风格还行,但如7楼所说,你的空格太多,建议看下代码风格方面的书籍;
4. 我一直想提出的,void main(),它必须是错的,K&R在《The C Programming Language》(C程序设计语言)1.7节中就有提到main要向程序所执行的环境返回0,以表明程序正常结束;Andrew Koening在《C Traps and Pitfalls》(C陷阱与缺陷)3.10节中有提到,如果一个程序的main函数不返回任何值,有可能看上去执行失败;Samuel P.Harbison在《C A Reference Manual》(C语言参考手册)9.9节中有提到,在C99之前,main函数的返回类型常常被省略,采用默认类型int,在C99中,这种做法不再允许;Steve Summit在《C Programming FAQs》(C语言常见问题集)11.11和11.12中明确提出,不能将main的返回类型为void,必须声明为返回int。
2011-10-18 13:34
快速回复:不能运行,看看吧,应该没有错误,实在是找不到啊。。。。
数据加载中...
 
   



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

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