Ich bin ein Anfänger in C und habe derzeit einige Probleme invovling Zeichen. Ich habe ein Problem, wenn ich versuche, Werte in eine Char-Matrix einzugeben und dann auszudrucken.Char Matrix Probleme in C
Hier ist mein Code:
#include <stdio.h>
#define N 3
int main()
{
char arr[N][N]={{0}};
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
scanf("%c",&arr[i][j]);
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%c",arr[i][j]);
}
}
return 0;
}
Es gibt zwei Zeichen, die am Ende der Ausgabe fehlen.
Ich weiß nicht, was ich falsch mache, und ich möchte meinen Fehler verstehen:
-Ist es eine Art von Problem, die scanf fonction beteiligt? Ich habe schon von dem Puffer gehört, ist das verwandt? Kommt das Problem von dem Moment an, in dem ich Enter drücke?
-Am ich meine Matrix falsch initialisiert?
-ist es besser, getchar() in dieser Situation zu verwenden? Wenn ja, wie kann ich es schaffen, genau N * N Werte einzugeben und nicht mehr?
Vielen Dank. Jordanien.
"Es gibt zwei Zeichen, die am Ende der Ausgabe fehlen." -> posten Sie die Eingabe, die Ausgabe und die erwartete Ausgabe sind nützliche Teile von Post wie diese. – chux