Ich habe an meinen Programmierkenntnissen gearbeitet, und ich habe meine Reise hier begonnen. Da stecke ich an einem Ort fest und versuche herauszufinden, wo ich falsch liege. Der Code lautet wie folgt:Druckelemente eines Arrays bis zum in C programmierten Schlüssel
#include<stdio.h>
int main(){
int a[10],i,j,arr_size;
printf("Enter the size of the array");
scanf("%d",&arr_size);
printf("Enter the array:");
for(i=0;i<arr_size;i++)
scanf("%d",&a[i]);
//here key is 42
//so we'll find the key and print the elements up to that
for(j=0;j<arr_size;j++){
if(j==42)
break;
//loop for the array up to the key
for(i=0;i<j;i++)
printf(" %d",a[i]);
}
return 0;
}
Die Ausgabe zeigt, dass die Schleife auf den Schlüssel steigen wird, dh 42 druckt aber in vielfältiger Weise 1 1 2 1 2 42. Das ist jetzt seltsam.
Die erforderliche Ausgabe im Format vorliegen: 1 2 nur, wenn der Eingang gegeben 1 2 42 33
Sie scheinen den Array-Index gegen 42 zu testen in Ort des Wertes. – doynax
Erfahren Sie, wie Sie einen * Debugger * verwenden. Dann können Sie den Code Zeile für Zeile durchgehen, um zu sehen, was der Fehler sein könnte. –
Danke @doynax, da ich in meinem Code Änderungen vorgenommen habe und dies 'if (a [j] == 42) anstelle von if (j == 42) getan habe und dann abgebrochen habe; _und die Schleife geht wie folgt für (i = 0; i
Alok