Céčko: nečekaný výsledek

Roman

Céčko: nečekaný výsledek
« kdy: 23. 07. 2014, 19:27:29 »
Zdravím,

učím se programovací jazyk C a když zkouším tento kód z tutoriálu:

Kód: [Vybrat]
#include "stdio.h"
 
int main(void)
{
   int a;
 
   printf("Please input an integer value: ");
   scanf("%d", &a);
   printf("You entered: %d\n", a);
 
   return 0;
}

Tak výsledná aplikace překvapivě první čeká na input, a až poté co něco zadám číslo a potvrdím Enterem se mi objeví:
Please input an integer value: You entered :mujIntInput

Prosím o vysvětlení co dělám špatně nebo co bych měl udělat, aby se první zobrazilo: Please input an integer value:
Děkuji
« Poslední změna: 23. 07. 2014, 23:30:23 od Petr Krčmář »


Cyr

Re:Céčko: nečekaný výsledek
« Odpověď #1 kdy: 23. 07. 2014, 19:38:58 »
Pro začátek je dobrý se co nejdříve seznámit s stackoverflow.com. Skoro každej dotaz, kterej budeš mít, tam už bude odpovězenej.

http://stackoverflow.com/questions/16877264/c-c-printf-before-scanf-issue

Hodně štěstí.

Roman

Re:Céčko: nečekaný výsledek
« Odpověď #2 kdy: 23. 07. 2014, 19:44:10 »
Díky, snad jsem to z toho pochopil.
Stack owerflow znám, jen jsem zatoužil po češtině, protože v rámci své práce, 90% toho co denně přečtu je v Angličtině
 a tak jsem se těšil z české odpovědi. Ale přesto díky moc.

Dan

Re:Céčko: nečekaný výsledek
« Odpověď #3 kdy: 24. 07. 2014, 00:44:01 »
Muzes zkusit  fflush(stdout); za prvnim printem.

Gery

Re:Céčko: nečekaný výsledek
« Odpověď #4 kdy: 24. 07. 2014, 07:47:50 »
Printf vypisuje na konzoli až s prvním ukončením řádku. Takže buď dej to toho printf nakonec \n nebo použij to fflush(stdout)


sl

Re:Céčko: nečekaný výsledek
« Odpověď #5 kdy: 24. 07. 2014, 08:20:48 »
Zkus v prvním řádku místo
Kód: [Vybrat]
#include "stdio.h"
radši použít
Kód: [Vybrat]
#include <stdio.h>
Jazykový knihovny budeš mít lepší napraný mezi tyhle hranatky.

dword

Re:Céčko: nečekaný výsledek
« Odpověď #6 kdy: 24. 07. 2014, 09:02:03 »
Vasemu problemu se rika line-buffering, pokud jej chcete vypnout, predprvnim zapisemna stdout zavolejte:

Kód: [Vybrat]
setbuf(stdout, NULL);

Quark66

Re:Céčko: nečekaný výsledek
« Odpověď #7 kdy: 24. 07. 2014, 11:37:00 »
Možná kolegovi jen v rychlosti prozradím, že když se inkludují háčka v uvozovkách, myslí se tím aktuální adresář (třeba vlastní knihovny h, kde máme nastrkané věci, které již neupravujeme. Nebo definice a tak).
Když include v hranatkách, pak jde obvykle o systémové include. Případně včetně podadresářů např #include<sys/io.h>

snažil jsem se využít českého jazyka ad maximum - co nejvíce :-)

LORT

Re:Céčko: nečekaný výsledek
« Odpověď #8 kdy: 24. 07. 2014, 21:10:44 »
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.

LORT

Re:Céčko: nečekaný výsledek
« Odpověď #9 kdy: 24. 07. 2014, 21:12:00 »
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.

Lol Phirae

Re:Céčko: nečekaný výsledek
« Odpověď #10 kdy: 24. 07. 2014, 21:18:27 »
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.


javaman

Re:Céčko: nečekaný výsledek
« Odpověď #11 kdy: 24. 07. 2014, 21:33:44 »
Ale dyť má pravdu. Céčko je tak do mixérů a alarmů. Dneska už je SW vývoj dál.

tojejedno

Re:Céčko: nečekaný výsledek
« Odpověď #12 kdy: 24. 07. 2014, 21:46:44 »
Ale dyť má pravdu. Céčko je tak do mixérů a alarmů. Dneska už je SW vývoj dál.

Dovolim si nesuhlasit... pokial viem vacsina vyvoja hier (HAVOK engine, PHYSX engine sa robi c/c++ pripadne vyuzitie javascript Unity3D)
Rovnako ako aplikacky pre linux. Stretavam sa viac s c/c++ nez s javou.

Nechcem javu zavrhovat na vela veci je dobra a uzitocna, ale povedat ze cecko je do mixerov a alarmov ma docela uraza...

Tomáš Marný

Re:Céčko: nečekaný výsledek
« Odpověď #13 kdy: 24. 07. 2014, 23:53:09 »
No, tak si tu LORT a javaman poléčili své komplexy, my si o nich pomyslíme své a nebudeme se jimi zabývat. Aspoň na nich vidíš poněkud omezenější mentální schopnosti, když ve vláknu s dotazem na C začnou matlat cosi o Javě.  :) Holt nebýt Javy, tak takovíhle jedinci asi leda tak kopají výkopy.  :D

LORT

Re:Céčko: nečekaný výsledek
« Odpověď #14 kdy: 25. 07. 2014, 01:01:03 »
Vidis, namiesto kopania vykopov beru 50 za mesiac. Je to fajn. 8) ;D ;D

No, tak si tu LORT a javaman poléčili své komplexy, my si o nich pomyslíme své a nebudeme se jimi zabývat. Aspoň na nich vidíš poněkud omezenější mentální schopnosti, když ve vláknu s dotazem na C začnou matlat cosi o Javě.  :) Holt nebýt Javy, tak takovíhle jedinci asi leda tak kopají výkopy.  :D