小编Arr*_*row的帖子

srand与rand函数有什么关系?

据我所知,如果不更改种子数,rand()函数会生成相同的数字.这就是srand()的用武之地.时间总是在变化所以我知道你应该将time(null)参数传递给srand.我的问题是从教程网站下面的代码.

int main()
{
    int i, n=5;
    time_t t;

    /* Intializes random number generator */
    srand((unsigned) time(&t));

    /* Print 5 random numbers from 0 to 50 */
    for( i = 0 ; i < n ; i++ ) {
        printf("%d\n", rand() % 50);
    }

    return(0);
}
Run Code Online (Sandbox Code Playgroud)

我看不到srand的链接

((unsigned) time(&t)); 
Run Code Online (Sandbox Code Playgroud)

和兰特.

printf("%d\n", rand() % 50);
Run Code Online (Sandbox Code Playgroud)

兰德和斯特兰德之间的联系在哪里?我的意思或期望是我假设rand()将从srand()获取一些参数,因此它知道每次生成不同的数字.我假设它看起来像rand(srand(time(null));

这就像在不使用它的情况下初始化变量一样.srand正在初始化,但我没有看到它被使用.

rand会生成不同的数字,因为在rand之前首先调用srand吗?

c random srand

19
推荐指数
3
解决办法
4万
查看次数

为什么我们可以写在C之外的界限?

我最近读完了有关虚拟内存的内容,我对于malloc如何在虚拟地址空间和物理内存中工作有疑问.

例如(从另一个SO帖子复制的代码)

void main(){
int *p;
p=malloc(sizeof(int));
p[500]=999999;
printf("p[0]=%d\n",p[500]); //works just fine. 
}
Run Code Online (Sandbox Code Playgroud)

为什么允许这种情况发生?或者为什么p [500]的地址甚至可写?

这是我的猜测.

当调用malloc时,操作系统可能会决定为进程提供整个页面.我将假设每个页面的空间值为4KB.整个事情是否被标记为可写?这就是为什么你可以到500*sizeof(int)进入页面(假设32位系统,其中int的大小为4字节).

当我尝试以更大的值编辑时,我看到了...

   p[500000]=999999; // EXC_BAD_ACCESS according to XCode
Run Code Online (Sandbox Code Playgroud)

段故障.

如果是这样,那么这是否意味着有些页面专用于您的代码/指令/文本段并标记为不可写入与您的堆栈/变量所在的页面完全分离(事情确实发生了变化)并标记为可写?当然,该过程认为它们位于32位系统上4gb地址空间中的每个订单旁边.

c c++ malloc undefined-behavior

6
推荐指数
3
解决办法
1394
查看次数

使用Privoxy Proxy for Tor时,Scrapy获取NoneType错误

我正在使用Ubuntu 14.04 LTS.

我尝试了Polipo,但它一直拒绝Firefox的连接,即使我将自己添加为allowedClient并且没有解决方案进行了数小时的研究.所以相反,我安装了Privoxy,我通过访问Tor网站验证了它与Firefox一起工作,并且说Congrats这个浏览器配置为使用Tor.这证实了我应该能够抓住Tor网站.

然而,当我使用Scrapy时,我得到一个似乎没有人的错误......?

2016-07-14 02:43:34 [scrapy] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
 'myProject.middlewares.RandomUserAgentMiddleware',
 'myProject.middlewares.ProxyMiddleware',
 'scrapy.downloadermiddlewares.retry.RetryMiddleware',
 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
 'scrapy.downloadermiddlewares.chunked.ChunkedTransferMiddleware',
 'scrapy.downloadermiddlewares.stats.DownloaderStats']
2016-07-14 02:43:34 [scrapy] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
2016-07-14 02:43:34 [scrapy] INFO: Enabled item pipelines:
['myProject.pipelines.MysqlPipeline']
2016-07-14 02:43:34 [scrapy] INFO: Spider opened
2016-07-14 02:43:34 [scrapy] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2016-07-14 02:43:34 [scrapy] DEBUG: Telnet console listening on 127.0.0.1:6023
2016-07-14 02:43:34 [Tor] DEBUG: User-Agent: …
Run Code Online (Sandbox Code Playgroud)

python proxy scrapy polipo

5
推荐指数
1
解决办法
494
查看次数

Scrapy process_links和process_request的示例代码

我是Scrapy的新手,我希望有人能给我很好的示例代码,说明何时process_links和process_request最有用。我看到process_links用于过滤URL,但是我不知道如何编码。

谢谢。

python scrapy

5
推荐指数
1
解决办法
2132
查看次数

如何在 C++ 中用整数替换 char 数组中的某些项?

下面是一个示例代码,它没有按照我想要的方式工作。

#include <iostream>

using namespace std;

int main()
{
char testArray[] = "1 test";

int numReplace = 2;
testArray[0] = (int)numReplace;
cout<< testArray<<endl; //output is "? test" I wanted it 2, not a '?' there
                        //I was trying different things and hoping (int) helped

testArray[0] = '2';
cout<<testArray<<endl;//"2 test" which is what I want, but it was hardcoded in
                      //Is there a way to do it based on a variable? 
return 0;
}
Run Code Online (Sandbox Code Playgroud)

在包含字符和整数的字符串中,如何替换数字?在实现这个时,用 C 和 C++ 实现有什么不同吗?

c++ arrays int char

0
推荐指数
1
解决办法
2178
查看次数

C/C++中的内存分配

当你在C或C++中声明int类型的变量x时,我知道它需要4个字节的内存.因此,为此变量分配了4个内存地址.我的问题是我可以看到所有四个内存地址分配了这个变量吗?我知道这不是一个典型的问题,但我很好奇.或者它是100%总是只是内存地址&x和3下一位?那么如果它是内存地址1000,那么下一个将是1001,1002和1003?它有没有偏离这个?

还说我设置x = 5;

这是否意味着在这个内存位置1000到1002,它将用零填充,在1003中,最右边的位置有101(二进制表示为5)?

谢谢

c c++ memory

0
推荐指数
1
解决办法
168
查看次数

标签 统计

c ×3

c++ ×3

python ×2

scrapy ×2

arrays ×1

char ×1

int ×1

malloc ×1

memory ×1

polipo ×1

proxy ×1

random ×1

srand ×1

undefined-behavior ×1