- Kijelzőjén alig látható gyűrődéssel mutatkozott be az Oppo Find N6
- Xiaomi 17 - még mindig tart
- Google Pixel Watch 3 - képpontos idő
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Android alkalmazások - szoftver kibeszélő topik
- Motorola Edge 50 Fusion - jó fogás
- Nagy aksival és erős hardverrel megjött Magyarországra a Poco X8 Pro és Pro Max
- Xiaomi 17 Ultra - jó az optikája
- iPhone topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
Új hozzászólás Aktív témák
-
válasz
sghc_toma
#543
üzenetére
Hali!
Elöször is bocsesz a "költői visszakérdezésért", de már előfordult, hogy valaki minden szakmai alapot nélkülöző hozzászólással gazdagított, amikor meg visszakérdeztem, hogy hát azért mégis elmagyarázhatná nekem(amúgy nem kellett volna) hogy hogyis van az, na azóta nem hallottam felőle.
Való igaz (ahogy Te illetve dabadab kolléga is írta) a GETS magában rejti ezt a fajta hibalehetőséget, de csak ezt, és ez jól látható(money[255]). Nyílván nem létezik olyan bankautomata amibe be lehet írni 255 számjegyből álló összeget, hogy adja ki 20ezresekbe, vagy ha igen szóljatok, mert kérek kölcsön egy MTZ traktort azt elhozzuk, mert akkor k... sok pénz van benne...
Azért nem szeretem a pl SCANF-t, mert az viszont rejtett "hibákat" tartalmaz és aki most ismerkedik a C-vel(lásd CELLPETI) azt nem tudhatja(mert sajnos a informatika vagy prográmozást oktató tanárbácsik is gyakran megfeletkeznek ennek elmagyarázásáról). Mire gondolok? Hát például Te is említést teszel ama bizonyos STDIN-ről ugyebár, amit a SCANF is "használ". Ha valaki tényleg korrekt INPUT-ot akar írni, annak erre oda kell figyelni. egy példával illusztrálom:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int n1,n2;
do {
printf("Enter 2 numbers [num1,num2]: ");
if (scanf("%d,%d",&n1,&n2)!=2) {
printf("Bad INPUT, try again or * to EXIT...\n");
continue;
}
printf("SUM(%d,%d) = %d\n",n1,n2,n1+n2);
} while (getch()!='*');
return 0;
}Nos, első ránézésre hibátlan, de mégsem. A következőképp működik az adott értékek mellett:
ha 5,7 akkor hibátlanul fut
ha 12345678901,12345678901, akkor hibás eredmény
ha a,b akkor hibás működés
ha 5.0,7.0 akkor hibás működésA hibás értékkel nem kell foglalkozni, az nyílvánvaló, azonban mi okozza a hibás működést? Nos annyit elárulok hogy a STDIN.
Természetesen nem Tőletek kérdem a megoldást(hisz biztosan tudjátok), hanem azoktól a leendő programozópalántáktól akik most ismerkednek a C-vel, és remélhetőleg elolvassák mások szakmai hozzászólását.
Szóval ezzel csak azt akartam illusztrálni, hogy kézenfekvő alap C input fx-ek is megtudják nehezíteni az ember életét, és ráadásul ezt úgy teszik hogy amúgy a kód hibátlan(vagy annak tűnik)Nos ezért szoktam kezdő programozóknál inkább a GETS-et alkalmazni.
Fire.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Luck Dragon: Asszociációs játék. :)
- AMD Navi Radeon™ RX 9xxx sorozat
- Győr és környéke adok-veszek-beszélgetek
- PlayStation 5
- Jó a retró: Chieftec UNI számítógépház
- Kínai és egyéb olcsó órák topikja
- Vezetékes FEJhallgatók
- gban: Ingyen kellene, de tegnapra
- Formula-1
- Apple asztali gépek
- További aktív témák...
- KIEMELT AKCIÓ: kitűnő állapotban lévő Apple iPad Pro Tablet 12.9" 128 GB szuper áron eladó !!! (2)
- Lenovo ThinkPad L14 Gen 1 Ryzen 5 pro 4650U, 16GB RAM, 256-512GB SSD, jó akku, számla, gar
- Microsoft Xbox Classic + 1 db Kontroller, valamint Need For Speed játék
- iPhone 16 Pro 128GB Független Használt/1-3 hónap gar./Akku 89%/p4813
- KIEMELT AKCIÓ: kitűnő állapotban lévő Apple iPad Pro Tablet 12.9" 256 GB szuper áron eladó !!! (1)
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 32GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- iPhone gyári/emelt kapacitású akkumulátor csere 6 HÓNAP GARANCIÁVAL
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 64GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- Bomba ár! HP EliteBook 8440P - i5-540M I 4GB I 250GB I DVDRW I 14" HD I Cam I Garancia!
- iPhone 12 64GB 100% (1év Garancia) Több színben is elérhető! - ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



