scan-Zeichen-array in der Programmiersprache C
Ich Scannen will ein Zeichen-array als Eingabe, wie unten gezeigt, und ich möchte auch, um die Anzahl der Zeilen, die vom Benutzer (es ist eine quadratische matrix).
O O X
O X O X X X
O O X
aber wenn ich es Scannen mit dem Programm unten, es werden nur scans zwei Zeilen.
#include <stdio.h>
int main()
{
int size,i,j;
printf("Enter size");
scanf("%d",&size);
int a[size][size];
for(i=0;i<size;i++)
for(j=0;j<size;j++)
scanf("%c",&a[i][j]);
}
Die Ausgabe die ich bekomme ist:
Geben Sie size3
O O X
O X O X X X
dann ist es nicht zu Fragen, für die Letzte Zeile.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denken Sie daran, dass die Leerzeichen nicht hier ausgelassen..
diese beheben würde, es würde auch verbrauchen die whitespace-Zeichen:
Sorry, ich habe nicht genug Ruf zu kommentieren. Neben Yohannes' beantworten, betrachten wir, welche Art von Eingabe Sie erwarten. Verwenden Sie ein integer-array zum speichern der Werte, aber Sie sagen
scanf
zu erwarten, dass Zeichen mit der"%c"
. Vielleicht verwenden Sie Zeichen-Arrays oder nehmen Sie ganze zahlen als Eingabe-und loswerden "type mismatch" - Warnung vom compiler.scanf("%d",&a[i][j]);
zu Lesen Ganzzahlen