小编nsa*_*ane的帖子

填充C中的结构

这是一个面试问题.直到现在,我曾经认为这些问题纯粹依赖于编译器,不应该担心我,但现在,我对它很好奇.

假设您有两种结构:

struct A {  
  int* a;  
  char b;  
 }  
Run Code Online (Sandbox Code Playgroud)

而且,

struct B {  
  char a;  
  int* b;  
}  
Run Code Online (Sandbox Code Playgroud)

那么你更喜欢哪一个?为什么?我的回答是这样的(虽然我有点在黑暗中拍摄)第一个结构应该是首选的,因为编译器为字大小的一些倍数(这是指针的大小 - 在32上的4个字节)分配结构的空间位机和64位的8字节).因此,对于这两种结构,编译器将分配8个字节(假设它是32位机器).但是,在第一种情况下,填充将在所有变量之后(即在a和b之后)完成.因此,即使有一些机会,b得到一些溢出的值并破坏我的下一个填充字节,但我的a仍然是安全的.

他似乎并不高兴,并要求第一个结构在第二个结构上的一个缺点.我没有太多话要说.:d

请帮我解答.

c structure padding

40
推荐指数
2
解决办法
3万
查看次数

Vim:在当前光标位置插入文件中的文本

要从当前Vim缓冲区中的文件插入文本,我:r filename用来插入光标下方的文本或:0r filename插入第一行.

如何插入[光标]所在文件的内容?

Actual line with some coding [Cursor]  // TODO for later version  
Line below actual line ...
Run Code Online (Sandbox Code Playgroud)

vim

29
推荐指数
2
解决办法
2万
查看次数

有没有办法在Python 2中访问分数的分母

有没有办法在Python 2中以分数访问分母?

例如,我有一个变量:

x =分数.分数(4,1)

我想获得它的分母.我怎么做?

python fractions python-2.7

22
推荐指数
1
解决办法
9607
查看次数

irange()与range()或xrange()有什么不同?

当我遇到这个RangeGenerator页面时,我正在浏览Python Generators Wiki,该页面谈到irange() -

这将让我们迭代大量数字而不诉诸xrange,这是一个惰性列表而不是生成器.

我似乎无法理解该页面上描述的测试套件和实现.我知道range()在内存中创建一个列表(从Python 2.7的角度来看)并且xrange()是一个生成器.有irange()什么不同?

python generator range xrange

14
推荐指数
1
解决办法
8728
查看次数

如何为自己的聊天客户端实施XMPP协议?

我想写一个聊天客户端.我可以使用RMI,但我不想.此外,我计划建立一个网络界面.

我正在阅读有关XMPP协议以及Google Talk使用它的事实.如何实现它来编写我自己的聊天客户端,而不是任何其他IM服务的客户端?有没有可用的库可以帮助我实现自己的聊天服务(IM)

java api chat xmpp

6
推荐指数
1
解决办法
2万
查看次数

使用mechanize登录网页

这是我用Python编程的第一次经历,我正在尝试登录这个 网页.搜索后我发现很多人建议使用mechanize.为了确保在我获得代码之前我正确设置了东西,我mechanize从网站下载了zip并将我的python脚本放在解压缩的机械化文件夹中.

到目前为止,我使用了我发现的不同示例:

import mechanize

theurl = 'http://voyager.umeres.maine.edu/Login'
mech = mechanize.Browser()
mech.open(theurl)

mech.select_form(nr=0)
mech["userid"] = "MYUSERNAME"
mech["password"] = "MYPASSWORD"
results = mech.submit().read()

f = file('test.html', 'w')
f.write(results) 
f.close()
Run Code Online (Sandbox Code Playgroud)

从查看网页的来源,我相信用户名/密码是表单的正确名称.当我运行脚本时,IDLE我得到一堆错误,包括超时错误和机器人错误.完整的追溯: 在此输入图像描述 即使代码有效,我也不确定我应该期待什么.登录是我的学校电子邮件,它也有类文件夹.我想要完成的最终游戏是,一旦我登录我的帐户,我想解析一些文件夹以获取信息,并将它们存储在一个文件中,以后可以转换为json或RSS feed,但这更进一步对Python有更好理解的道路,只是想更清楚地了解我想要实现的目标.

python mechanize

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

为什么我在运行 Python 程序时收到“sh: 1: 语法错误:未终止的引号字符串”?

我想统计一下我写了多少行代码。

这是Python代码:

import os
import sys

EXT = ['.c','.cpp','.java','.py']

def main():
    l = []
    if os.path.isdir(sys.argv[1]):
        for root, dirs, files in os.walk(sys.argv[1]):
            l.extend([os.path.join(root, name) for name in files])
    else:
        l.append(sys.argv[1])

    params = ["'"+p+"'" for p in l if os.path.splitext(p)[1] in EXT]

    result = os.popen("wc -l %s "%" ".join(params)).read()
    print result

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

在此之前,它按预期运行。但今天,它给了我这个错误:

sh: 1: Syntax error: Unterminated quoted string
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么事。

python shell

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

在 C 中通过双指针访问结构元素

我正在使用结构实现链表。我有一个结构-

typedef struct llist node;
typedef node *nodeptr;
struct llist
{
    int data;
    nodeptr next;
};
Run Code Online (Sandbox Code Playgroud)

现在假设我声明了一个变量nodeptr *ptr;。我如何访问成员datanext使用ptr

c pointers linked-list double-pointer singly-linked-list

4
推荐指数
1
解决办法
4107
查看次数

如何在JavaScript中的字符串中包含布尔值

假设我想在我打印出来的某些字符串中加入一个布尔值,比如

var x=1;
var y=2;
document.write("<p>The result is "+x==y+"</p>");
Run Code Online (Sandbox Code Playgroud)

通常,这不会给我需要的输出.有没有一种方法可以在document.write()本身直接打印布尔表达式?我不想使用if-else然后为变量分配单独的值然后打印它们.PS - 我刚开始学习JavaScript.

javascript boolean

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

我能用JS制作符号吗?

我想做的就是创造像"游戏"这样的国际象棋.你应该可以自由地拖动符号,有点像你可以在网上找到的国际象棋助手.真的很简单.

但我的问题是移动符号,是否有人能够提供帮助?

    `<!DOCTYPE html>
<html>
<head>
    <style>
        html, body {
            width:100%;
            height:100%;
        }

        .black {
            background-color:silver;

        }

        table {
            margin:auto;
            text-align:center;
        }
    </style>
</head>
    <body>
        <table border="1" style="border:1px black solid;">
            <tr>
                <td width="40px" height="40px">&#9820;</td>
                <td class="black" width="40px" height="40px">&#9822;</td>
                <td width="40px" height="40px">&#9821;</td>
                <td class="black" width="40px" height="40px">&#9819;</td>
                <td width="40px" height="40px">&#9818;</td>
                <td class="black" width="40px" height="40px">&#9821;</td>
                <td width="40px" height="40px">&#9822;</td>
                <td class="black" width="40px" height="40px">&#9820;</td>
            </tr>
            <tr>
                <td class="black" width="40px" height="40px">&#9823;</td>
                <td width="40px" height="40px">&#9823;</td>
                <td class="black" width="40px" height="40px">&#9823;</td>
                <td width="40px" height="40px">&#9823;</td>
                <td class="black" width="40px" height="40px">&#9823;</td>
                <td …
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

使用C中的链接列表实现队列时出错

我正在使用C中的链表实现队列.这是我的结构 -

typedef struct llist node;
struct llist
{
    int data;
    node *next;
};
Run Code Online (Sandbox Code Playgroud)

我在执行时遇到问题push().这是我的push()定义 -

void push(node *head,int n)
{
    if (head==NULL)
    {
        head=(node *)(malloc((sizeof(node))));
        head->data=n;
        head->next=NULL;
        printf("=>%d\n",head->data);
    }
    else
    {
        node *ptr;
        ptr=head;
        while(ptr->next!=NULL)
        {
            ptr=ptr->next;
        }
        ptr->next=(node *)(malloc((sizeof(node))));
        ptr=ptr->next;
        ptr->data=n;
        ptr->next=NULL;
    }
    return;
}
Run Code Online (Sandbox Code Playgroud)

这是我的main()功能 -

int main()
{
    int choice,n;
    node *head;
    head=NULL;
    while(1)
    {
        printf("Enter your choice -\n1. Push\n2. Pop\n3. Exit\n");
        scanf("%d",&choice);
        switch(choice)
        {
            case 1:
                printf("Enter element to …
Run Code Online (Sandbox Code Playgroud)

c linked-list

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