Thông báo lỗi ngắn nhất


135

Thử thách

Viết chương trình ngắn nhất mà khi được biên dịch hoặc thực thi sẽ tạo ra một thông báo lỗi nghiêm trọng nhỏ hơn chính chương trình đó. Thông báo lỗi có thể không được tạo bởi chính chương trình, chẳng hạn như Python raise. Một câu trả lời hợp lệ phải bao gồm cả mã và thông báo lỗi. Câu trả lời hợp lệ ngắn nhất sẽ thắng.

Không có thông báo lỗi không được tính là một thông báo lỗi.

Ví dụ (Lua)

Mã (46 byte):

[
--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Lỗi (45 byte):

[string "[..."]:1: unexpected symbol near '['

Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
Dennis

1
@Dennis Tôi đoán đó là một cách giải quyết vấn đề "OP không chỉnh sửa làm rõ vấn đề".
Ørjan Johansen

1
Cảm ơn vì đã chấp nhận câu trả lời của tôi, nhận được nhiều phiếu bầu nhất; tuy nhiên, điều này đã được gắn thẻ mã golf , vì vậy bạn nên chấp nhận câu trả lời này , đây là câu trả lời ngắn nhất.
MD XF

@smartpeople là đây: " __main__.CodeException: Raised an &rror." lỗi của tôi hoặc là đây: " Raised an &rror."
FantaC

TrumpScript chạy ở Trung Quốc?
Stan Strum

Câu trả lời:


58

ed , 3 byte

Lưu ý: Hầu hết các câu trả lời ở đây đều bỏ qua dòng mới được in như một phần của thông báo lỗi trong số của chúng. Nhưng tôi không thấy bất cứ điều gì trong câu hỏi để biện minh cho việc bỏ qua nó, và tác giả đã nhận xét rằng nên đưa vào dòng mới . Vì vậy, trừ khi câu hỏi được thay đổi, tôi sẽ đưa nó vào.

Mã (có dòng mới):

??

Lỗi (với dòng mới):

?


19
Trên thực tế, điều này là không thể đánh bại. : P
hoàn toàn là

1
Ed có thể làm thử nghiệm bổ sung và nguyên thủy? Hoặc là không cần thiết cho loại thử thách này?
Stephen

4
@StepHen Có, nó có thể thực hiện kiểm tra bổ sung và nguyên thủy một cách đơn nhất thông qua thủ thuật regex-with-backreferences thông thường.
Anders Kaseorg

1
Rất thông minh, nhưng '?' không gây tử vong.
Đánh dấu Plotnick

2
Như được chỉ ra trong một cờ, lỗi nghiêm trọng nếu mã không được đọc từ thiết bị đầu cuối. Hãy thử trực tuyến!
Dennis

59

C (Linux hiện đại), 19 byte

Sẽ thực hiện segfault nổi tiếng của tôi nhưng hoàn toàn đánh cắp nó.

main(){longjmp(0);}

Đầu ra (18 byte):

Segmentation fault

Bạn hiện có số điểm cao hơn tôi nên ... Win-win?
hoàn toàn là


Không có ngôn ngữ nào khác với phiên bản ngắn hơn (để sau đó bạn có thể sử dụng main(){main();})?
12431234123412341234123

@ 12431234123412341234123 Không phải tôi biết. Ngoài ra, main(){main();}không được bảo đảm cho lỗi seg.
MD XF

1
@MDXF Không có gì đảm bảo (và với tối ưu hóa được kích hoạt trong gcc hoặc clang, nó kết thúc trong một vòng lặp vô tận hoặc bỏ qua cuộc gọi). Nhưng trên Code Golf, chúng tôi cần một triển khai làm việc không phải là một sự đảm bảo.
12431234123412341234123

48

Python 2, 35 byte

import sys;sys.tracebacklimit=000;a

Đưa ra lỗi:

NameError: name 'a' is not defined

14
sửa đổi giới hạn truy nguyên ... một điều tốt đẹp
HyperNeutrino

1
Điều này thật thông minh!
Skyler

34

JavaScript (Firefox), 31 byte

# This is a comment, right? ...

Ném lỗi này:

SyntaxError: illegal character

Đã thử nghiệm trong bảng điều khiển của Firefox 54.0.1 trên Windows 7.


26

Python 2 , 87 79 byte

-8 byte nhờ Zacharý và Erik Outgolfer.

from __future__ import braces
#i am most surely seriously actually totallyhuman

Hãy thử trực tuyến!

Thông báo lỗi, 78 byte:

Giả sử mã được lưu trữ trong một tệp có tên a.

  File "a", line 1
    from __future__ import braces
SyntaxError: not a chance

Đây thực sự là một quả trứng Phục sinh nhỏ xinh trong Python. :CƯỜI MỞ MIỆNG


1
Bạn có thể giả sử một tên tập tin một char!
Zacharý

1
Giả sử tên tệp 1 char, bạn có thể đánh gôn này .
Erik the Outgolfer 21/07/17

Heh, tốt đẹp. - - -
hoàn toàn là

1
Nhưng thông báo lỗi phải nhỏ hơn chính chương trình ...
Leaky Nun

1
Nếu bạn sử dụng IDLE, bạn có thể nhận \s\sFile "<stdin>", line 1\nSyntaxError: not a chanceđược chỉ 50 byte [ \slà khoảng \n
trắng

20

Haskell, 13 byte

main = (main)

Lưu dưới dạng t.hshoặc một tên nhân vật khác, biên dịch ghcvà chạy. Thông báo lỗi (có dòng mới):

t: <<loop>>

19

Taxi , 38 21 byte

Switch to plan "abc".

Sản xuất:

error: no such label

Hãy thử trực tuyến!

-17 byte nhờ Kỹ sư Toast

Cố gắng chuyển sang "abc", không tồn tại. Bạn sẽ có [abc]một nơi nào đó.


4
Bạn có thể nhận được tới 21 byte với Switch to plan "abc".việc sản xuất error: no such label. Đây có thể là một trong số ít những thử thách chơi gôn trong đó Taxi đánh bại một số ngôn ngữ truyền thống.
Kỹ sư Toast

@EngineerToast cảm ơn, đã không nghĩ về điều đó.
Stephen

18

> <> , 26 byte

>>>>>>>>>>>>>>>>>>>>>>>>>:

Hãy thử trực tuyến!

Mọi thông báo lỗi trong Fish là something smells fishy..., do đó, điều này chỉ di chuyển con trỏ đủ thời gian dài hơn thời gian đó và cố gắng sao chép đỉnh của ngăn xếp, lúc đó trống rỗng.


2
Tôi thích nó, và nó chắc chắn là giải pháp
tẻ nhạt

@ Xan-KunClark-Davis thở dài bạn phải ...: P
HyperNeutrino

18

JavaScript (Firefox), 21 byte

(a=null)=>a.charAt(1)

Lỗi (20 byte) :TypeError: a is null


2
Ôi! Tôi biết có một cái ngắn hơn ...
ETHproductions 21/07/17

Tôi có cùng một ý tưởng, đã đưa ra a = null; a.x01234567890 Cùng một lượng byte
RuteNL

16

Hệ thống V shell, 25 byte

mount /dev/hda1 /mnt/hda1

Thông báo lỗi (23 byte):

mount: not a typewriter

"Không phải là một máy đánh chữ" hoặc ENOTTYlà một mã lỗi được xác định trong errno.hcác hệ thống Unix. Điều này được sử dụng để chỉ ra rằng một số ioctl (điều khiển đầu vào / đầu ra) không hợp lệ đã được chỉ định trong một cuộc gọi hệ thống ioctl. Trên hệ thống của tôi, trong /usr/include/asm-generic/errno-base.h, tôi có thể tìm thấy dòng này:

#define ENOTTY          25      /* Not a typewriter */

Trong phiên bản UNIX 6 trở lên, I / O bị giới hạn ở các thiết bị đầu cuối được kết nối nối tiếp, chẳng hạn như teletype (TTY). Chúng thường được quản lý thông qua các cuộc gọi gttysttyhệ thống. Nếu ai đó cố gắng sử dụng một trong hai cuộc gọi hệ thống này trên một thiết bị không đầu cuối, ENOTTYđã được tạo.

Ngày nay, đương nhiên không cần sử dụng teletype. Khi gttysttyđược thay thế bằng ioctl, ENOTTYđã được giữ. Một số hệ thống vẫn hiển thị thông báo này; nhưng hầu hết nói "ioctl không phù hợp cho thiết bị" thay vào đó.


Vui lòng giải thích ...
Mega Man

@MegaMan Cập nhật với lời giải thích.
MD XF

1
Upvote cho giải thích thực sự khai sáng.
Xan-Kun Clark-Davis

11

QBasic, 11 byte

Có hai giải pháp 11 byte trong QBasic, một trong số đó có thể được đánh gôn thêm. Thông báo lỗi ngắn nhất mà QBasic có là overflowvà có thể được kích hoạt như sau:

i%=i%+32677

Điều này ném overflowvì tối đa cho một số nguyên ( i%) là 32676. Tôi không thể 32677chơi golf mà không có QBasic tự động đúc nó lâu ...

Một lỗi khác, ở mức 11 byte, sẽ là out of data. QBasic có các DATAcâu lệnh lưu trữ dữ liệu trong chương trình, sau này có thể được truy cập bằng các READcâu lệnh. Phát hành nhiều READhơn DATAs gây ra lỗi:

READ a$ '--

Lưu ý rằng câu lệnh được đệm bằng một nhận xét để đưa nó lên đến độ dài của thông báo lỗi. Có, tôi có thông báo lỗi với chương trình ngắn hơn và chương trình có thông báo lỗi ngắn hơn ...


11

C (Linux hiện đại), 19 byte

Tôi đã đề nghị điều này trong trò chuyện, nhưng không ai lấy cơ hội. : P Tín dụng cho câu trả lời vui nhộn của MD XF .

main(){puts('s');;}

Thông báo lỗi, 18 byte

Segmentation fault

1
Nhưng thông báo lỗi phải nhỏ hơn chính chương trình ...
Leaky Nun

Số lượng byte đã bị làm hỏng, xấu của tôi.
hoàn toàn là

9
Đây là một thông báo chung được in bởi trình bao khi quá trình con kết thúc với mã thoát 139. Bản thân chương trình C không tạo ra thông báo lỗi nào cả.
Dennis

7
@Dennis Mã thoát 139 thực sự là một lời nói dối khác được tạo bởi vỏ. Unix phân biệt giữa tín hiệu 11 ( W_EXITCODE(0, 11) == 11) và mã thoát 139 ( W_EXITCODE(139, 9) == 139 << 8). Shell đặt $?không tương đối WIFEXITED(wstatus) ? WEXITSTATUS(wstatus) : WTERMSIG(wstatus) + 128, nhưng hầu hết các ngôn ngữ cho thấy sự khác biệt.
Anders Kaseorg

2
@Anders WIFEXITED(wstatus)Tương đương với DIVORCE(alimony)cơ hội nào?
Janus Bahs Jacquet

11

Javascript (V8), 24 byte

decodeURIComponent('%');

Lỗi, 23 byte:

URIError: URI malformed

Đã thử nghiệm trên Nodejs v6.11.0Google Chrome v59.0.3071.115 .

Hãy thử trực tuyến!

Lưu ý rằng TIO mở rộng thông báo lỗi.


5
Chào mừng đến với PPCG!
Stephen


10

PowerShell , 215 189 byte

[]
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Hãy thử trực tuyến!

Vì vậy, PowerShell có ... thông báo lỗi ... dài. Ngoài ra, hầu hết các thông báo lỗi không theo cú pháp là Ngoại lệ Thời gian chạy, nghĩa là chúng không gây tử vong, giúp giảm vấn đề này khi cần tìm một lỗi phân tích cú pháp ngắn.

Tôi nghĩ rằng đây là một trong những lỗi ngắn nhất, nếu không phải ngắn nhất, @TessellatingHeckler đã chứng minh đây là lỗi phân tích cú pháp ngắn nhất và nó vẫn nặng ở mức 188byte chỉ cho thông báo lỗi. Vì vậy, về cơ bản chúng ta cần nối thêm 1s để đạt được 189byte "mã".

c:\a.ps1Ví dụ, việc chạy cục bộ này sẽ giảm số byte bởi vì nó chỉ là một đường dẫn tệp ngắn hơn, nhưng sau đó nó không có sẵn trên TIO.

Sản xuất lỗi:

At /tmp/home/.code.tio.ps1:1 char:2
+ []
+  ~
Missing type name after '['.
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : MissingTypename

Tôi đã được hỏi ba câu hỏi trong các ý kiến, một trong số đó bạn đã hỏi, nhưng hai câu hỏi mà bạn không hỏi đều áp dụng cho câu trả lời của bạn chứ không phải của bạn.
dùng72528

@ user72528 Vâng, tôi cũng thấy thú vị.
admBorkBork

Bạn có thể sử dụng một tên tập tin char!
Zacharý

1
@ Zacharý Tôi có thể, nhưng sau đó nó không thể tái tạo trên TIO do cách TIO xử lý hộp cát. Tôi thích giữ nó có thể sử dụng được trên TIO hơn là lưu một vài byte.
admBorkBork

2
Điều gì []trông giống như một lỗi ngắn hơn Missing type name after '['và tùy thuộc vào chính xác cách bạn đếm có thể vào khoảng 190 - tio.run/##K8gvTy0qzkjNyfn/PzqWy3Dogv//AQ (được lấy từ các chuỗi trình phân tích cú pháp ở đây có vẻ giống như lỗi trình phân tích cú pháp ngắn nhất ở đây([xml](gc .\ParserStrings.resx)).root.data.value | sort { $_.length } -Desc ).
TessellatingHeckler

9

Hàng hóa 64 cơ bản, 15 byte

?SYNTAX   ERROR

Sản xuất

?SYNTAX  ERROR

(Lưu ý hai khoảng trắng trong thông báo lỗi, trong đó chương trình có ba)

?SYNTAX ERRORđược liên kết với ?VERIFY ERRORthông báo lỗi ngắn thứ ba mà C64 Basic có thể tạo ra và thông báo lỗi ngắn nhất có thể được kích hoạt bằng mã (tin nhắn ngắn nhất BREAK IN 1, yêu cầu tương tác của người dùng, trong khi ?LOAD ERRORyêu cầu băng đĩa bị lỗi hoặc đĩa mềm và ?VERIFY ERRORcần có sự hiện diện của một đĩa mềm hoặc băng chứa tệp không khớp với chương trình trong RAM).


1
Ha, thậm chí không nhìn thấy điều này khi tôi đăng bài của tôi . Luôn luôn tốt để xem một người dùng BASIC khác ... +1
MD XF

8

R , 29 28 byte

-1 byte nhờ JarkoDubbeldam

a #abcdefghijklmnopqrstuvwxy

Ném lỗi Error: object 'a' not foundlà 27 byte.

Hãy thử trực tuyến!


2
a #abcdefghijklmnopqrstuvwxyLỗi của Error: object 'a' not foundmột byte ngắn hơn.
JAD

@JarkoDubbeldam cảm ơn bạn.
Giuseppe

7

Ruby ( 33 32 byte)

32 byte

&
#abcdefghijklmnopqrstuvwxyz12

Ném lỗi (giả sử trong tệp có tên "a"):

31 byte

a:1: syntax error, unexpected &

Chỉnh sửa : Tắt một byte bằng cách sử dụng &thay vì <<cảm ơn Eric , người cũng đã đưa ra một giải pháp Ruby thậm chí còn ngắn hơn: http://codegolf.stackexchange.com/a/135087/65905


1
Chào mừng đến với PPCG!
Martin Ender

@EricDuminil đẹp quá! Tôi nghĩ rằng tất cả các toán tử ký tự đơn được trích dẫn trong thông báo lỗi, nhưng bạn nói đúng: &không. Khéo léo! Ngoài ra, tìm thấy tốt với các lối thoát hex. Tôi đã vật lộn để tìm một thông báo lỗi nghiêm trọng ngắn hơn và không theo dõi ngăn xếp khác với lỗi cú pháp.
ameketa

@ameketa: Tôi thực sự đã viết một chương trình bruteforce và đã thử nghiệm mọi chương trình Ruby 1, 2 và 3 byte có thể: D Cảm ơn vì liên kết.
Eric Duminil

5

Brainf ** k, 17 byte, trình thông dịch này

+++++++++++++++<<

Brainf ** k là một ngôn ngữ đơn giản đến mức hầu như mọi phiên dịch viên đều có thông báo lỗi khác nhau. Cái này sử dụng Memory Error: -1khi con trỏ di chuyển sang trái quá nhiều và bạn thử một thao tác khác


Tôi đoán việc chọn một thông dịch viên cũng là một phần của thách thức như việc chọn một ngôn ngữ.
dùng72528

@ user72528 Ở đây, chúng tôi xác định một ngôn ngữ bằng trình thông dịch của nó, vì vậy thách thức này là một chút về việc chọn trình thông dịch có thông báo lỗi ngắn nhất :)
HyperNeutrino

1
Ai đánh bại Brainfuck? Không ai? Ổn thỏa.
Erik the Outgolfer 21/07/17

Giải pháp không thể đánh bại sẽ là một giải pháp hai byte gây ra lỗi 1 ký tự.
Zacharý

@ Zacharý Chắc chắn là lol
HyperNeutrino

5

Lisp thông thường , 20 byte

(/ 1 0))))))))))))))

Hãy thử trực tuyến!

Thông báo lỗi

/: division by zero

11
o_o dấu ngoặc đơn không cân bằng trong Lisp ... bạn học được điều gì đó mới mỗi ngày.
Zacharý

1
Nếu bạn thay 0 bằng 1, nó sẽ bị lỗi trên parens nhưng nó không đi xa được bằng 0. Tôi chỉ cần thêm các ký tự dài hơn tin nhắn
Cheldon 21/07/17

5

Dùng thử, 11 byte

Mã (11):

'abcdefghij

Lỗi (10):

open quote

5

Javascript (Firefox), 29 27 byte

new Date('-').toISOString()

ném RangeError: invalid datelà 24 byte. Đã thử nghiệm trên Firefox 54.0.1 trên Windows 10.


5

Phổ ZX cơ bản, 9 byte

RUN USR 8

sản xuất:

Thông báo lỗi

Giải trình:

Tôi (đặc biệt) tính đại diện ASCII của chương trình cho các mục đích dài, bao gồm cả cuối dòng (nó không thực sự quan trọng, vì chúng tôi luôn có thể đệm một chương trình ngắn hơn với khoảng trắng).

Thông thường, các thông báo lỗi ZX Spectrum dài hơn và hữu ích hơn thế này - thói quen ROM ở 0x0008 mong đợi mã lỗi sau khi gọi mã máy đến RST 8. Và lấy một số byte ngẫu nhiên (xác định) từ ROM, tạo ra thông báo lỗi vô nghĩa này M. 5là số lỗi, ,được thêm vào bởi thói quen in lỗi và 0:1là dòng lệnh: vị trí lệnh của lỗi.


Trên thực tế, đây là 9 byte thông thường, vì ZX Spectrum không đánh giá các con số trong thời gian chạy, vì vậy thực tế có 6 byte ẩn cho phép nó truy cập trực tiếp vào biểu diễn nhị phân của 8.
Neil


4

Perl 5 , 5 byte

die$/

Xuất ra một dòng mới, cho một byte.

Hãy thử trực tuyến!


._. Bây giờ ... nếu chỉ lỗi perl trên tệp trống!
Zacharý

4
Đợi đã, đây có phải là vi phạm "có thể không được tạo bởi chính chương trình" không? Tôi không hiểu quy tắc đó nói gì.
aschepler

1
@ Zacharý ... đưa ra một thông báo lỗi với tổng chiều dài âm?
aschepler

1
Điều này có thể không hợp lệ ... hoặc không, tùy thuộc vào việc OP có nghĩa là lỗi hay thông báo lỗi
Zacharý

^ làm rõ: liệu chương trình có lỗi trực tiếp hay tạo thông báo lỗi trực tiếp hay không
Zacharý

4

Perl 5 , 11 byte

Vì tôi không rõ liệu câu trả lời khác của tôi có tuân theo các quy tắc thách thức hay không, đây là một cách khác.

#line 0
die

Lỗi đầu ra:

Died.

Với một dòng mới kết thúc, cho 6 byte.

Hãy thử trực tuyến!

Vì một số lý do, hàm nội bộ trình thông dịch Perl Perl_mess_svchứa:

if (CopLINE(cop))
    Perl_sv_catpvf(aTHX_ sv, " at %s line %" IVdf,
                    OutCopFILE(cop), (IV)CopLINE(cop));

nơi CopLINE(cop)lấy số dòng của bối cảnh mã hiện tại. Vì vậy, nếu số dòng đó xảy ra để đánh giá bằng 0, Perl bỏ qua việc thêm thông thường " at <filename> line <n>"vào thông báo lỗi.


1
Nó dường như cũng không hợp lệ với tôi. IIRC dielà để chương trình thoát.
sergiol

1
Làm thế nào mà khác với trăn raise?
Eric Duminil

Chà, OP có thể đã đề cập đến việc tạo ra lỗi hoặc thông báo lỗi . Tôi nhận xét về ý nghĩa của anh ấy.
Zacharý

4

ArnoldC , 150 byte

IT'S SHOWTIME
HEY CHRISTMAS TREE b
YOU SET US UP 0
GET TO THE CHOPPER b
HERE IS MY INVITATION b
HE HAD TO SPLIT 0
ENOUGH TALK
YOU HAVE BEEN TERMINATED

Hãy thử trực tuyến!

Lỗi là 94 byte (bao gồm cả dòng mới):

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at code.main(Hello.java)

Được bảo tồn bởi vì tôi nghĩ điều này buồn cười hơn - spoiler: đó là những trò chơi khăm thiếu niên nguy hiểm.

ArnoldC , 280 byte

IT'S SHOWTIME
HEY CHRISTMAS TREE BRBDoorBetterNotBeThosePeskyTeenagePranksters
YOU SET US UP 0
GET YOUR ASS TO MARS BRBDoorBetterNotBeThosePeskyTeenagePranksters
DO IT NOW
I WANT TO ASK YOU A BUNCH OF QUESTIONS AND I WANT TO HAVE THEM ANSWERED IMMEDIATELY
YOU HAVE BEEN TERMINATED

Mã giả:

start program
new variable
set to 0
set new variable to output from function
call function
take input
end program

Hãy thử trực tuyến!

Tạo ra lỗi "không có đầu vào". (Hầu hết tất cả các lỗi khác trong ArnoldC bao gồm một phần lớn của bản tóm tắt):

279 byte (bao gồm cả dòng mới):

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at code.main(Hello.java)

4

TI-Basic, 9 byte

Thông báo lỗi ngắn nhất là mỗi 8 byte: ERR:DATE, ERR:MODE, ERR:STAT, và ERR:ZOOM. Tôi đã không cân nhắc ERR:DATEvì điều đó không hoạt động trên các mô hình mà không có đồng hồ bên trong. Ngoài ra, tôi đã không đi ERR:ZOOMvì dường như quá khó để kích hoạt.

Chương trình (9 byte):

Seq:DrawInv X:::::

Thông báo lỗi: ERR:MODE(8 byte)

Chương trình (9 byte):

median({1},{0::

Thông báo lỗi: ERR:STAT(8 byte)


3

Ruby, 25 byte

Đó là một bài tập thú vị, cảm ơn! Có lẽ có một cách để nhận thông báo lỗi ngắn hơn với SegFault, nhưng tôi không thể tìm thấy.

/\x
# Invalid hexa regexp

Thông báo lỗi:

a:1: invalid hex escape

24 byte, bao gồm một dòng mới.

Hãy thử trực tuyến!

Ruby, 26 byte

Đây là câu trả lời trước của tôi:

08
# No 8 allowed in octal

Thông báo lỗi:

a:1: Invalid octal digit

25 byte, bao gồm một dòng mới.


Tôi nghĩ bạn nên tách câu trả lời của bạn.
Solomon Ucko

@SolomonUcko: Bất kỳ lý do tại sao? Có rất nhiều câu trả lời rồi. Tôi chỉ muốn để lại dấu vết câu trả lời trước đây của tôi. Mọi người thường chỉ chỉnh sửa số byte bằng <s> 26 </ s> 25, nhưng thường là cho những thay đổi nhỏ.
Eric Duminil

Thật ra, tôi không chắc tại sao tôi lại nói thế, vậy thì đừng bận tâm.
Solomon Ucko

3

C ++ (trên macOS High Sierra beta), 23 ký tự

int main(){*(int*)0=0;}

Đầu ra: (22 ký tự)

Segmentation fault: 11

Tôi không nhớ liệu các phiên bản trước của macOS có cung cấp Segmentation fault (core dumped)phản hồi truyền thống hơn hay không nhưng việc thêm khoảng trắng vào mã để xóa nó là khá nhỏ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.