Vor kurzem stieß ich auf dieses Rätsel: "?"Kann man das lösen?
int main(){
int arr[7];
int b,c,d,a;
a=4;
printf("%d",arr[?]);
return 0;
}
Die Frage ist, ersetzen mit einer ganzen Zahl, so dass der Ausgang 4 ist. Ich bin mir nicht sicher, aber ich denke nicht, dass dies auf eine standardmäßige Weise lösbar ist?! (Kein undefiniertes Verhalten oder abhängig von der Implementierung) Wenn NEIN, dann bin ich sehr daran interessiert zu wissen, wie?
bearbeiten: Diese Aufgabe aus here genommen wird, habe ich versucht, mit 10, zu lösen, aber es ist leider nicht die Antwort das Problem Setter wants.However ich es solved einige pretested Implementierung abhängig Hokuspokus, aber ich wirklich habe keine Erklärung dafür, wie es wirklich funktioniert!
Hier ist die Antwort: SPOILER, Sie sind willkommen, es
Es gibt keine Möglichkeit, garantiere die Ausgabe ist vier, mit diesen Einschränkungen.Wenn Sie das "?" erlauben, etwas zu sein, dann können Sie es ersetzen mit '0] = 4, arr [0'. – GManNickG
Was war Ihre Lösung? – SLaks
@SLaks: Ich habe Ich habe es als Spoiler – Quixotic