小编Nay*_*uki的帖子

C中的变量声明放置

我一直认为在C中,所有变量都必须在函数的开头声明.我知道在C99中,规则与C++中的规则相同,但C89/ANSI C的变量声明放置规则是什么?

以下代码使用gcc -std=c89和成功编译gcc -ansi:

#include <stdio.h>
int main() {
    int i;
    for (i = 0; i < 10; i++) {
        char c = (i % 95) + 32;
        printf("%i: %c\n", i, c);
        char *s;
        s = "some string";
        puts(s);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

不应该在C89/ANSI模式下声明cs导致错误吗?

c declaration c89

121
推荐指数
5
解决办法
8万
查看次数

repo克隆时清空Git子模块文件夹

我在https://github.com/aikiframework/json上有一个回购.在我的本地副本上,我使用该命令添加了一个子模块

git submodule add git@github.com:jcubic/json-rpc.git json-rpc
Run Code Online (Sandbox Code Playgroud)

然后我做了一个提交和推送,更改出现在GitHub上(我可以点击它).但是当我克隆回购时

git clone https://github.com/aikiframework/json.git
Run Code Online (Sandbox Code Playgroud)

子模块文件夹json-rpc为空.

我在这里错过了什么?我忘记了什么吗?为什么那个文件夹是空的?

git version-control git-clone git-submodules

116
推荐指数
1
解决办法
3万
查看次数

如何使空div占用空间

这是我的960网格系统案例:

<div class="kundregister_grid_full">
    <div class="kundregister_grid_1">ID</div>
    <div class="kundregister_grid_1">Namn</div>
    <div class="kundregister_grid_1">Anv.Namn</div>
    <div class="kundregister_grid_1">Email</div>
    <div class="kundregister_grid_1">Roll</div>
    <div class="kundregister_grid_1">Aktiv</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的div组,用作表结构.

CSS说如下:

.kundregister_grid_1 {
    display: inline-block;
    float: left;
    margin: 0; 
    text-align: center;
}
.kundregister_grid_1 {
    width: 140px;
}
Run Code Online (Sandbox Code Playgroud)

不介意瑞典语命名.我希望div显示,即使它们没有值.

<div class="kundregister_grid_full">
 <div class="kundregister_grid_1">ID</div>
 <div class="kundregister_grid_1"></div>
 <div class="kundregister_grid_1"></div>
 <div class="kundregister_grid_1">Email</div>
 <div class="kundregister_grid_1">Roll</div>
 <div class="kundregister_grid_1">Aktiv</div>
</div>
Run Code Online (Sandbox Code Playgroud)

像这样,在这种情况下,两列中没有'Namn'和'Avn.Namn'.但是,当在chrome中运行它时,它们将被删除,并且不再按顺序推送其他div float:left.因此,如果我在上面的相同div中有类别,则值将被置于错误的类别下.

html css

94
推荐指数
5
解决办法
18万
查看次数

Java套接字API:如何判断连接是否已关闭?

我遇到了Java套接字API的一些问题.我正在尝试显示当前连接到我的游戏的玩家数量.很容易确定玩家何时连接.但是,确定玩家何时使用套接字API断开连接似乎不必要.

调用isConnected()已远程断开的套接字似乎总是返回true.同样,调用isClosed()已远程关闭的套接字似乎总是返回false.我已经读过,要实际确定套接字是否已关闭,必须将数据写入输出流并且必须捕获异常.这似乎是处理这种情况的一种非常不洁净的方式.我们不得不经常通过网络垃圾邮件垃圾邮件,以便知道套接字何时关闭.

还有其他解决方案吗?

java sockets networking client-server

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

为什么你的switch语句数据类型不能长,Java?

以下是Sun Java教程的摘录:

一种开关用的工作原理byte,short,char,和int原始数据类型.它还与枚举类型(在类和继承讨论)和少数特殊类作品是"包装"某些基本类型:Character,Byte,Short,和Integer(在简单的数据对象讨论).

必须有一个很好的理由为什么long不允许原始数据类型.有人知道这是什么吗?

java language-design switch-statement long-integer

74
推荐指数
3
解决办法
5万
查看次数

在C/C++中无符号左移之前掩盖是否过于偏执?

这个问题的动机是我在C/C++中实现加密算法(例如SHA-1),编写可移植平台无关的代码,并彻底避免未定义的行为.

假设标准化的加密算法要求您实现此目的:

b = (a << 31) & 0xFFFFFFFF
Run Code Online (Sandbox Code Playgroud)

where ab是无符号的32位整数.请注意,在结果中,我们丢弃高于最低32位的任何位.


作为第一个天真的近似,我们可以假设int在大多数平台上都是32位宽,所以我们写:

unsigned int a = (...);
unsigned int b = a << 31;
Run Code Online (Sandbox Code Playgroud)

我们知道这个代码无处不在,因为int在某些系统上是16位宽,在其他系统上是64位,甚至可能是36位.但是使用stdint.h,我们可以使用以下uint32_t类型改进此代码:

uint32_t a = (...);
uint32_t b = a << 31;
Run Code Online (Sandbox Code Playgroud)

所以我们完成了,对吧?这就是我多年来的想法.... 不完全的.假设在某个平台上,我们有:

// stdint.h
typedef unsigned short uint32_t;
Run Code Online (Sandbox Code Playgroud)

在C/C++中执行算术运算的规则是,如果类型(例如short)比类型更窄int,那么int如果所有值都适合,则它会变宽,unsigned int否则.

假设编译器定义short为32位(带符号)和int48位(带符号).然后这些代码行:

uint32_t a = (...);
uint32_t b = a << …
Run Code Online (Sandbox Code Playgroud)

c c++ undefined-behavior language-lawyer integer-arithmetic

72
推荐指数
4
解决办法
4844
查看次数

在colgroup中使用text-align center

我在我的页面中有一个表,我使用colgroups以相同的方式格式化此列中的所有单元格,适用于背景颜色和所有.但似乎无法弄清楚为什么文本对齐中心不起作用.它没有将文本对齐居中.

例:

<table id="myTable" cellspacing="5">
    <colgroup id="names"></colgroup>
    <colgroup id="col20" class="datacol"></colgroup>
    <colgroup id="col19" class="datacol"></colgroup>
    <colgroup id="col18" class="datacol"></colgroup>

    <thead>
        <th>&nbsp;</th>
        <th>20</th>
        <th>19</th>
        <th>18</th>
    </thead>
    <tbody>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

CSS:

#names {
    width: 200px;
}

#myTable .datacol {
    text-align: center;
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

html css html-table css-tables

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

在Python中的给定索引处将一些字符串插入给定字符串

我是Python面临问题的新手:如何在现有字符串中插入一些字段?

例如,假设我从任何包含以下内容的文件中读取了一行:

line = "Name Age Group Class Profession"
Run Code Online (Sandbox Code Playgroud)

现在我必须在Class字段之前的同一行中插入第3个Field(Group)3次.这意味着输出行应该是:

output_line = "Name Age Group Group Group Group Class Profession"
Run Code Online (Sandbox Code Playgroud)

我可以轻松地检索第三个字段(使用split方法),但请告诉我插入字符串的最简单方法?

python string

60
推荐指数
5
解决办法
19万
查看次数

MATLAB函数中的可选参数

如何在MATLAB中用可选参数声明函数?

例如:function [a] = train(x, y, opt),opt必须是可选参数.

math parameters matlab arguments function

59
推荐指数
4
解决办法
10万
查看次数

Java类文件可以使用保留关键字作为名称吗?

我知道Java-the-compilable-programming-language与Java-the-bytecode-format-for-JVM-execution不同.有一些例子在.class格式中有效但在.java源代码中没有,例如无构造函数的类和合成方法.

  1. 如果我们的手工工艺.class文件有保留的Java语言的关键字(例如int,while)作为类,方法或字段名,将在Java虚拟机接受它加载?

  2. 如果加载了类,是否意味着访问此类或成员的唯一方法是通过Java反射,因为该名称在Java编程语言中在语法上是非法的?

java reflection jvm .class-file

59
推荐指数
4
解决办法
3527
查看次数