CoolShell-第2题

第2题地址:https://fun.coolshell.cn/81648.html

 

感觉和一般键盘的布局不太一样,将下面的内容用正常的键盘的键位打出来是什么?

还是用JavaScript写个转换函数吧……

// 注意“\”是转义符,字符串中要用两个“\\”表示
var code = "macb() ? lpcbyu(&gbcq/_\\021%ocq\\012\\0_=w(gbcq)/_dak._=}_ugb_[0q60)s+";
var table = {
	"[" : "-",
	"{" : "_",
	"]" : "=",
	"}" : "+",
	
	"'" : "q",
	"\"" : "Q",
	"," : "w",
	"<" : "W",
	"." : "e",
	">" : "E",
	"p" : "r",
	"P" : "R",
	"y" : "t",
	"Y" : "T",
	"f" : "y",
	"F" : "Y",
	"g" : "u",
	"G" : "U",
	"c" : "i",
	"C" : "I",
	"r" : "o",
	"R" : "O",
	"l" : "p",
	"L" : "P",
	"/" : "[",
	"?" : "{",
	"=" : "]",
	"+" : "}",
	
	"o" : "s",
	"O" : "S",
	"e" : "d",
	"E" : "D",
	"u" : "f",
	"U" : "F",
	"i" : "g",
	"I" : "G",
	"d" : "h",
	"D" : "H",
	"h" : "j",
	"H" : "J",
	"t" : "k",
	"T" : "K",
	"n" : "l",
	"N" : "L",
	"s" : ";",
	"S" : ":",
	"-" : "'",
	"_" : "\"",
	
	";" : "z",
	":" : "Z",
	"q" : "x",
	"Q" : "X",
	"j" : "c",
	"J" : "C",
	"k" : "v",
	"K" : "V",
	"x" : "b",
	"X" : "B",
	"b" : "n",
	"B" : "N",
	"w" : ",",
	"W" : "<",
	"v" : ".",
	"V" : ">",
	"z" : "/",
	"Z" : "?",
};
var answer = "";

for (var i = 0; i < code.length; ++i) {
	var target = code[i];
	if (table[code[i]]) {
		target = table[code[i]];
	}
	// console.log(code[i] + ":" + target + ":" + answer);
	answer += target;
}
console.log(answer);

 

运行结果还是一串代码,目测是C语言,跑一下。

main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}

 

好吧……要搭建环境……

先下载一个Cygwin,建议添加镜像地址http://mirrors.163.com,安装后进到bin目录。

新建文件main.c,将上面的代码复制进去。

在终端窗口编译、并执行代码。

gcc main.c -o main
main

 

终端输出unix,得到第3题地址:https://fun.coolshell.cn/unix.html

 

收获:想了解计算机底层,怎么能不会C语言?结果这段代码啥意思?呵呵……

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值