Hirdetés
- Mit tud egy nagy név? Teszten az Acer Predator Orion 5000 PC
- Azonnali alaplapos kérdések órája
- Kormányok / autós szimulátorok topikja
- Hisense LCD és LED TV-k
- Milyen TV-t vegyek?
- Milyen egeret válasszak?
- Projektor topic
- Na, milyen hardver kerül a fa alá?
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
Ú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!
- Samsung Galaxy Watch7 - kötelező kör
- PlayStation 5
- Mit tud egy nagy név? Teszten az Acer Predator Orion 5000 PC
- Autós topik
- Azonnali alaplapos kérdések órája
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Kormányok / autós szimulátorok topikja
- Hisense LCD és LED TV-k
- Milyen okostelefont vegyek?
- Tőzsde és gazdaság
- További aktív témák...
- Eladó Logitech G705 Hibátlan, Gyári Dobozos Állapotban!
- Eladó Logitech G715 TKL Tactile - US INTL Kitűnő, Sértetlen Állapotban, Gyári Dobozában!
- Redmi Note 11s 6Gb 128Gb Rom
- Apple iPhone 14 Plus 256GB / 100%-os akkumulátor / 12 hónap jótállással
- LENOVO ThinkPad T460s,14",FHD,i5-6200U,8GB DDR4,256GB SSD,WIN11
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- Bomba ár! Lenovo ThinkPad X250 - i5-5GEN I 8GB I 1000GB I 12,5" HD I Cam I W10 I Garancia!
- BESZÁMÍTÁS! Apple Macbook Air 15 2025 M4 16GB 256GB SSD macbook garanciával hibátlan működéssel
- MacBook Pro 16" M1 Max 64GB / 2TB / magyar / 27%-os ÁFÁS
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi



