Fügen Sie bei der folgenden C # -Programmausgabe False
eine "böswillige" Codezeile ein, sodass das Programm sie ausgibt True
.
class Program
{
static void Main()
{
System.Console.Write("False");
;
}
}
Ihre Antwort sollte aus einer Zeichenfolge bestehen, die das zweite Semikolon ersetzt und das Programm dazu veranlasst True
, das Ganze True
und nichts als True
(nicht einmal eine neue Zeile) auszugeben. Dies muss erfolgen, wenn stdout auf der Konsole gedruckt wird und wenn stdout in eine Datei umgeleitet wird.
Die kürzeste Antwort gewinnt.
code-golf
c#
programming-puzzle
Kendall Frey
quelle
quelle
Antworten:
52 Zeichen
so wird das Ganze:
quelle
Write
.WriteLine
zuWrite
for(;;);
. Nichts, was ich gesehen habe, erfordert, dass das Programm beendet wird ...?}static Program(){System.Console.Write(0<1);for(;;);
könnte immer werden}static Program(){for(System.Console.Write(0<1);;);
C #, 51 Zeichen
Funktioniert nur mit der Standardausgabe
quelle
WriteLine
.Write
: / Ich verstehe nicht, wie wir es schaffen würden, das zu lösen, wenn es sichConsole.Write
und können\r
anstelle von 5\b
s verwenden.Console.Write("\rTrue ");
Sie können RamonBozas Antwort so verallgemeinern, dass sie immer noch funktioniert, wenn stdout in eine Datei umgeleitet wird.
Angenommen, das Programm läuft unter Mono unter Linux, wobei die Assembly
Mono.Posix.dll
geladen ist:Ich bezweifle, dass dies unter Windows funktioniert, aber es gibt wahrscheinlich eine Entsprechung zu
isatty()
.quelle
83 ... WIP
Ich hatte gehofft, dass dies funktionieren würde, aber anscheinend wird "False" nicht so interniert, wie ich es in meinem Compiler gehofft hatte
ungolfed
quelle
quelle
Ich bin mir nicht sicher, ob dies akzeptiert wird.
Die Frage sagt nichts über Compiler-Optionen aus, also gehe ich davon aus, dass ich den Einstiegspunkt der App ändern kann.
55 Zeichen, 3 mehr als die akzeptierte Antwort
Voll
quelle