scanf und gets
-
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string.h>
#include <mmstream.h>int main (void)
{
char x[20];
gets(x);
puts(x);int a;
scanf("%d",&a);
printf("%d\n",a);char o[20];
gets(o);
puts(o);}
er steigt nach scanf aus die frage ist warum ???!!!
-
Nachdem du die Zahl eingegeben hast, lässt scanf() noch das abschließende ENTER im Tastaturpuffer stehen - und das reicht für gets(), um als eigegebene Zeile gedeutet zu werden.
-
Kann ich das dann irgendwie umgehen so das es funktioniert?
-
Ja, du mußt von Hand alle überflüssigen Zeichen einlesen und verwerfen -
while(getc()!='\n'){}
-
Hm. Man koennte es auch in C++ machen, oder wirds da viel komplizierter/umfangreicher?
Wenn das nicht beabsichtigt ist, dann ist das doch (mal abgesehen von den beiden ungenutzten C++-headern) eher ein Fall fuers C-Forum?