Ich bin neu in C und habe einen Code geschrieben, wo ich "?" auf dem Bildschirm, wo es mit dem Wert in einem Array übereinstimmt. Wenn ich ein Array initialisiert habe mit index_location [6] = {0, 1, 5, 8, 9, 12}; Meine erwartete Leistung ist unten aufgeführt. Jede Hilfe oder Hilfe, die mir hilft, wird sehr geschätzt.Code zeigt die Ausgabe nicht richtig an
Ausgabe: ?? @@@? @@ ?? @@?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//
int main(void)
{
int index_location[6] = {0, 1, 5, 8, 9, 12};
int len=sizeof(index_location)/sizeof(int);
for (int a = 0; a < len; a++)
{
for(int b = 0; b < len; b++)
{
if (a == index_location[b])
{
printf("%c",'?');
} else {
printf("%c",'@');
}
}
}
printf("\n");
}
Sie sollten sich wirklich zeigen, was Sie tatsächlich bekommen. Ich vermute, dass es viel mehr Daten als Ihre erwartete Ausgabe ist. Sind Sie sicher, dass die Doppelschleife benötigt wird? Sie sollten eine einzelne Schleife verwenden, denke ich. In C müssen Sie 'for (int a = 0; a
Sollte es nicht printf ('?') Nach Ihren Anforderungen sein –
Array-Grenzen sind aus 'für (a = 0; a
evaitl