首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指针,指针,指针!

指针,指针,指针!
EN

Code Golf用户
提问于 2015-06-10 01:05:30
回答 50查看 8.1K关注 0票数 57

Introduction

在一些语言(如Java )的错误输出中,显示了一个指针来让程序员知道错误到底出在哪里。

乘坐这个例子到Ideone:

代码语言:javascript
复制
Main.java:12: error: ';' expected
    Invalid Java!
                ^

注意插入符号显示无效代码在哪里?

挑战

你的挑战是:给定数字N和字符串S,在S中的第N个字符上放置一个指针。

示例

输入:2, "Lorem ipsum, dollar sit amet."

输出

代码语言:javascript
复制
Lorem ipsum, dollar sit amet.
 ^

规则

  • 输入通过STDIN或函数参数接收。
  • 输出到控制台或returned。
  • 输出中允许尾随新行、空格等。
  • 指针字符必须是^插入符号,并且必须位于新行上。
  • 这是密码高尔夫,所以最短的答案获胜。祝好运!
EN

回答 50

Code Golf用户

发布于 2015-06-10 09:52:03

C 33

如果只允许一个函数,那么即使c也可以竞争。

(对于记录,2个字节将thx保存到@Cool。Mt的评论出乎意料地消失了。)

多保存1个煤焦的thx @Mig

代码语言:javascript
复制
f(a,c){printf("%s\n%*c",a,c,94);}
票数 38
EN

Code Golf用户

发布于 2015-06-10 09:14:20

IA-32机器代码,24字节

六角山:

代码语言:javascript
复制
66 b8 5e 00 42 38 22 75 fb 66 c7 02 0d 0a 42 42
c6 02 20 e2 fa 89 02 c3

它是一个函数(使用MS fastcall约定),它就地更新字符串:

代码语言:javascript
复制
__declspec(naked) void __fastcall carrot(int n, char* s)

装配代码:

代码语言:javascript
复制
    mov ax, '^'; // ah = 0, al = '^'

mystrlen:
    inc edx;
    cmp [edx], ah;
    jne mystrlen;

    mov word ptr [edx], '\r\n'; // append a newline
    inc edx;

mymemset:
    inc edx;
    mov byte ptr [edx], ' ';
    loop mymemset;

    mov [edx], eax; // append a caret and terminate the string
    ret;

它在一些地方使用WORD-sized (16位)数据。这在32位代码中有一个惩罚(1字节前缀),但无论如何使代码更小--使用32位数据将两个零字节放入代码中!

最后,它编写了4个字节(eax),而不是2个字节(ax) --这样代码就更小了,在字符串终止后又写了2个字节的垃圾,所以没人注意到它们。

用法:

代码语言:javascript
复制
int main()
{
    char s[100] = "Lorem ipsum, euro sit amet.";
    carrot(2, s); // credit to Digital Trauma for the name
    puts(s);
}
票数 25
EN

Code Golf用户

发布于 2015-06-10 01:20:03

皮斯,8

代码语言:javascript
复制
zp\^*tQd

这个解决方案不再起作用了,因为在我链接到的那个之后提交,因为语言名称改变了p,使其具有第一个。在Pyth中,还有其他几种方法可以实现类似的评分,就像zp+*dQ\^一样。

如果字符串需要引号,那么将v添加到代码的开头是可行的。如果必须用逗号分隔,它最多可达10个字节:

代码语言:javascript
复制
eQp\^*dthQ
票数 21
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/51471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档