惊喜程序问题集 (1-3)

1 - 你好,指针

下面是一段很简单的C代码

// bello.c
#include <stdio.h>
int main() {
    char hello[] = "hello";
    *hello = 'b';
    printf("%s\n", hello); // bello
    return 0;
}

将上面定义hello字符串变量那一行修改为 char *hello = "hello"后,代码的输出是什么?为什么?

// hello.c
#include <stdio.h>
int main() {
    char *hello = "hello";
    *hello = 'b';
    printf("%s\n", hello); // bello
    return 0;
}

2 - 是好是坏

下面这段js代码的输出是什么? 为什么?

// gob.js
var t = {};
t[0xbad] = 'bad';
t['2' + '9' + '8' + '9'] = 'good';
console.log(t[0xbad]);

3 - 顺流逆流

下面两段Lua代码的运行时间是否会有明显的差别?为什么?

-- seq_init.lua
local t = {}
for i = 1, 100 do
    for k = 1, 10000 do
        t[k] = k
    end
end
-- reverse_init.lua
local t = {}
for i = 1, 100 do
    k = 10000
    while k > 0 do
        t[k] = k
        k = k - 1
    end
end
上一篇:C#winfrom中splitContainer的用法


下一篇:谈谈C语言的字面字符串