Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Roman 23. 07. 2014, 19:27:29

Název: Céčko: nečekaný výsledek
Přispěvatel: Roman 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
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Cyr 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í.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Roman 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.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Dan 24. 07. 2014, 00:44:01
Muzes zkusit  fflush(stdout); za prvnim printem.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Gery 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)
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: sl 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.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: dword 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);
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Quark66 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 :-)
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: LORT 24. 07. 2014, 21:10:44
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: LORT 24. 07. 2014, 21:12:00
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Lol Phirae 24. 07. 2014, 21:18:27
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.

(http://asset-3.soup.io/asset/2905/6018_3568.jpeg)
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: javaman 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.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: tojejedno 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...
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Tomáš Marný 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
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: LORT 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
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: karel 25. 07. 2014, 06:55:32
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.

a co takhle poradit s problem a nepredhazovat jeste vetsi
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Kolemjdoucí 25. 07. 2014, 07:37:15
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu?

C/C++ je skutečný programovací jazyk a to plnohodnotný. Java není plnohodnotný programovací jazyk, například se v ní nedá realizovat kernel driver.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Kolemjdoucí 25. 07. 2014, 07:42:33
Ale dyť má pravdu. Céčko je tak do mixérů a alarmů. Dneska už je SW vývoj dál.

C nebo C/C++ se používá nepřetržitě i dnes a to zhusta, nemá smysl tady vypisovat kde všude. Mimo jiné je v C/C++ napsáno každé JVM pro Javu :D
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: jemitou 25. 07. 2014, 08:39:32
Vidis, namiesto kopania vykopov beru 50 za mesiac. Je to fajn. 8) ;D ;D

Haha 50 za mesiac ma takmer kazdy developer ( c/c++/c#/php ... ),  s nejakym skillom a par rocnou praxou. Nevidim dovod Sa tu s tym chvalit....
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: podlesh 25. 07. 2014, 08:50:20
Koukám že být tady trollem je fakt triviální.

Slyšeli jste někdy pojem "nekrmit" ?
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: AVR 25. 07. 2014, 10:42:14
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.
Ale musel. Stačí použít java.util.Scanner spolu s funkci System.out. println() a dostanete se k podobnému výsledku. U příkladů pro začátečníky se zkrátka takové chování někdy vyskytuje.
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: perceptron 25. 07. 2014, 10:56:39
odporucat na newbie problem s cckom javu je fail

ono aj v jave sa kadeco da dodrbat, scanner skonstruovany nad stringom, co ma akoze obsahovat cestu k suboru je kopa zabavy
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: hawran diskuse 25. 07. 2014, 12:36:53
Co tak vyskusat nejaky skutocny programovaci jazyk, napr. Javu? Tam by si taketo prkotiny nemusel riesit.

(http://asset-3.soup.io/asset/2905/6018_3568.jpeg)

 ;D  ;D  ;D  ;D
Název: Re:Céčko: nečekaný výsledek
Přispěvatel: Karel 25. 07. 2014, 17:06:10
Vidis, namiesto kopania vykopov beru 50 za mesiac. Je to fajn. 8) ;D ;D

No vidíte. Kdybyste se lépe učil, tak dnes můžete programovat mixéry a alarmy, tam se běžně dostává i 70 za měsíc.