24小时热门版块排行榜    

查看: 2104  |  回复: 14
本帖产生 3 个 程序强帖 ,点击这里进行查看

huycwork

金虫 (著名写手)


jjdg(金币+1): 感谢参与 2011-06-05 01:34:13
引用回帖:
Originally posted by holmescn at 2011-06-04 18:52:58:
确实,size_t做为size和index都是语义明确的类型,但虽然你要返回的类型是int,如果做为标记,应该使用bool,而你都用size_t,就让人感觉,你的每个变量都是一个index。函数返回的也是一个index。所以,这不是 ...

C  的这个类型语义没这么单纯滴,它是POSIX标准化的一部分被定义在sys/types.h中,针对时间、进程号、线程、整数类型等都有了新的类型名称,最新的man手册第二章系统调用的原型中无符号类型都换成了size_t,带符号类型都换成了ssize_t,int类型只作为会返回0和-1并设置errno的那种调用的返回类型出现,如open的返回值。size_t代表的是一个适合计算机的无符号整数类型,除非有严格的内存长度需要,否则整数类型都应该被声明为size_t或ssize_t,int只是早期程序沿用下来的默认类型而已,在C程序中用着也没啥,在C  里面却有不妥。
漩涡的中心有一块空地,空空的。
11楼2011-06-04 20:17:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎大家多多交流呵呵 2011-06-05 20:27:41
引用回帖:
Originally posted by huycwork at 2011-06-02 22:34:29:
C++代码:
[code]
#include <iostream>
enum {BUFSZ = 10000};

size_t eular21(){
        size_t buf[BUFSZ];
        memset(buf, 0, sizeof buf);
        for(size_t i = 1; i < BUFSZ; ++i){
                for(size_t j = ...

g++编译通不过?
找不到memset?
我用添加了string.h,但是有问题。
12楼2011-06-05 14:38:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎大家多多交流呵呵 2011-06-05 20:27:53
引用回帖:
Originally posted by dubo at 2011-06-04 14:55:25:
// play_time_calu.cpp : 定义控制台应用程序的入口点。
//

//#include "stdafx.h"

#include <stdio.h>
#include <math.h>
#include <time.h>

#define TIMERSTART cl ...

sqrt(n)和sqrt(float(n))效果不是一样吗?
那个i是copy的,呵呵

那些time宏定义 以后不用了 在linux下直接用time就能测量时间了
13楼2011-06-05 14:41:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)


dubo(金币+1): 欢迎大家多多交流呵呵 2011-06-05 20:28:01
引用回帖:
Originally posted by wangww2011 at 2011-06-05 14:38:57:
g++编译通不过?
找不到memset?
我用添加了string.h,但是有问题。

linux下用这个函数是有点问题,不被推荐的一个函数,应该在cstdlib或memory之类的地方吧,跟memcpy之类的函数放一起才对,用不了的话只好自己初始化或者改为全局定义的了。我是在VS2010下测试的,微软的东西,总是怪怪的
漩涡的中心有一块空地,空空的。
14楼2011-06-05 19:52:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rzhabl

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
688528楼: Originally posted by libralibra at 2011-06-03 16:36:21
看笨拙的matlab吧

function result = euler21()
tic;
result = [];
for i=1:10000
    if d(i)~=i && d(d(i))==i
        result = ;
    end
end
result = sum(unique(result));
toc;
end
...

tic;
n=10000;
s=0;
for i=2:n
    a=1:i-1;
    c=sum(a(i./a==floor(i./a)));
    a=1:c-1;
    d=sum(a(c./a==floor(c./a)));
    if i==d&&i~=c
      s=s+i;
    end
end
disp(s);
toc;
恩恩  我也写了一类似的
15楼2012-08-04 13:31:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 huycwork 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见