惊喜程序问题集 (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
目录
相关文章
|
存储 网络协议 安全
必知的技术知识:DNS资源纪录(ResourceRecord)介绍
必知的技术知识:DNS资源纪录(ResourceRecord)介绍
|
开发框架 编译器 C语言
外部依赖项、头文件、源文件、资源文件
外部依赖项、头文件、源文件、资源文件
508 0
|
Ubuntu Linux Windows
wsl重装Ubuntu遇到的一些问题( WslRegisterDistribution failed with error: 0x80041002 Error: 0x80041002 (null)、重置网络后WLAN图标消失)
wsl重装Ubuntu遇到的一些问题( WslRegisterDistribution failed with error: 0x80041002 Error: 0x80041002 (null)、重置网络后WLAN图标消失)
|
人工智能 运维 安全
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
分享了关于 AI 原生化趋势下服务器操作系统进化的思考,以及浪潮信息在龙蜥社区开源贡献的思路、成果与未来技术发展规划。
专访浪潮信息:AI 原生时代,浪潮信息引领服务器操作系统创新 全面贡献龙蜥社区
|
JavaScript 前端开发 开发者
JavaScript 浏览器控制台的使用
JavaScript 浏览器控制台的使用
535 0
|
存储 C语言
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
714 0
|
数据可视化 计算机视觉 索引
零基础入门语义分割-地表建筑物识别 Task1 赛题理解 -学习笔记
零基础入门语义分割-地表建筑物识别 Task1 赛题理解 -学习笔记
334 1
|
前端开发 JavaScript Java
社区志愿者|基于Springboot+Vue实现社区志愿者平台系统
社区志愿者|基于Springboot+Vue实现社区志愿者平台系统
436 0
|
SQL 存储 设计模式
你不知道的 mybatis 四大核心组件
你不知道的 mybatis 四大核心组件
674 0
你不知道的 mybatis 四大核心组件
|
开发工具 git
Source Tree多个远程仓库管理及如何在gitlab提Merge
目录 一、背景 二、Gitlab上Fork仓库 三、SoureTree上新增远程仓库 1、进入仓库设置 2、新增远程仓库 四、同步原仓库代码以及gitlab提merge 1、同步原仓库最新代码 2、gitlab上提merge
Source Tree多个远程仓库管理及如何在gitlab提Merge