这是一个面试问题.直到现在,我曾经认为这些问题纯粹依赖于编译器,不应该担心我,但现在,我对它很好奇.
假设您有两种结构:
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
请帮我解答.
要从当前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) 有没有办法在Python 2中以分数访问分母?
例如,我有一个变量:
x =分数.分数(4,1)
我想获得它的分母.我怎么做?
当我遇到这个RangeGenerator页面时,我正在浏览Python Generators Wiki,该页面谈到irange() -
这将让我们迭代大量数字而不诉诸xrange,这是一个惰性列表而不是生成器.
我似乎无法理解该页面上描述的测试套件和实现.我知道range()在内存中创建一个列表(从Python 2.7的角度来看)并且xrange()是一个生成器.有irange()什么不同?
我想写一个聊天客户端.我可以使用RMI,但我不想.此外,我计划建立一个网络界面.
我正在阅读有关XMPP协议以及Google Talk使用它的事实.如何实现它来编写我自己的聊天客户端,而不是任何其他IM服务的客户端?有没有可用的库可以帮助我实现自己的聊天服务(IM)?
这是我用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代码:
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)
我不知道发生了什么事。
我正在使用结构实现链表。我有一个结构-
typedef struct llist node;
typedef node *nodeptr;
struct llist
{
int data;
nodeptr next;
};
Run Code Online (Sandbox Code Playgroud)
现在假设我声明了一个变量nodeptr *ptr;。我如何访问成员data和next使用ptr?
假设我想在我打印出来的某些字符串中加入一个布尔值,比如
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.
我想做的就是创造像"游戏"这样的国际象棋.你应该可以自由地拖动符号,有点像你可以在网上找到的国际象棋助手.真的很简单.
但我的问题是移动符号,是否有人能够提供帮助?
`<!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">♜</td>
<td class="black" width="40px" height="40px">♞</td>
<td width="40px" height="40px">♝</td>
<td class="black" width="40px" height="40px">♛</td>
<td width="40px" height="40px">♚</td>
<td class="black" width="40px" height="40px">♝</td>
<td width="40px" height="40px">♞</td>
<td class="black" width="40px" height="40px">♜</td>
</tr>
<tr>
<td class="black" width="40px" height="40px">♟</td>
<td width="40px" height="40px">♟</td>
<td class="black" width="40px" height="40px">♟</td>
<td width="40px" height="40px">♟</td>
<td class="black" width="40px" height="40px">♟</td>
<td …Run Code Online (Sandbox Code Playgroud) 我正在使用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)