Ok, also möchte ich ein Ein-Buchstaben-Zeichen und drei Zahlen in eine Struktur mit scanf eingeben, und ich möchte alle vier von ihnen mit einem drucken Funktion, die es druckt. Aber jedes Mal, wenn ich es laufe, bekomme ich Fehler, die sagen, dass ich es nicht ausführen kann, oder manchmal druckt es alles außer dem Zeichenteil, wo es einfach als leer hingehen würde. Was könnte daran möglicherweise falsch liegen?Ich möchte Zeichen und Ganzzahlen per Scanf in eine Struktur eingeben
#include <stdio.h>
struct Score
{
char a;
float x, y, z;
};
void main(void)
{
void avg(char *a, float x, float y, float z);
char a1 = 'b';
float x1 = 0, y1 = 0, z1 = 0;
printf("enter an alphaber\n");
fflush(stdin);
scanf_s("%c", &a1);
printf("enter three numbers (ex:1,2,3)\n");
fflush(stdin);
scanf_s("%f,%f,%f", &x1, &y1, &z1);
struct Score s1 = { a1, x1, y1, z1 };
avg(s1.a, s1.x, s1.y, s1.z);
}
void avg(char *a, float x, float y, float z)
{
printf("%c (%f,%f,%f) \n", a, x, y, z);
}
Sie * nicht definiertes Verhalten aufgerufen * von Daten mit falschem Typ auf 'printf()' in Funktion 'avg()' vorbei: '% c 'fordert' int', aber 'a' hat' Typen char * '. – MikeCAT
danke für die Antwort, was kann ich ersetzen c mit ??? sry ich bin total neu in C++ –
Gibt es einen guten Grund, warum Sie 'scanf' /' printf' anstelle von 'iostream' verwenden? – user463035818