Hirdetés
- Garmin Edge 1050 kerékpáros óra: mindenből a legtöbbet
- PCI Express 7.0 – Brutális sebesség, de minek?
- Melyik tápegységet vegyem?
- TCL LCD és LED TV-k
- Épített vízhűtés (nem kompakt) topic
- Kormányok / autós szimulátorok topikja
- Raspberry Pi
- Apple MacBook
- Azonnali VGA-s kérdések órája
- A Razer új klaviatúra-zászlóshajóját meglátva biztos félrenyeled a teát
Ú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!
- eBay-es kütyük kis pénzért
- Okos Otthon / Smart Home
- Kamionok, fuvarozás, logisztika topik
- Battlefield 6
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Gyúrósok ide!
- Assetto Corsa Rally
- Garmin Edge 1050 kerékpáros óra: mindenből a legtöbbet
- PCI Express 7.0 – Brutális sebesség, de minek?
- Kételkedsz még a Marathonban? Nézz meg egy teljes kört!
- További aktív témák...
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD GTX 1060 6GB ZALMAN T3 Plus Deepcool 400W
- BESZÁMÍTÁS! Gigabyte X570 R7 5700X 32GB DDR4 512GB SSD RX 6750 XT 12GB LIAN LI LANCOOL 216RX 750W
- BESZÁMÍTÁS! Gigabyte Z390 i7 9700K 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA FSP 550W
- BESZÁMÍTÁS! ASRock A520M R5 3600 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA Cooler Master 600W
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- GYÖNYÖRŰ iPhone 13 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4573, 100% Akkumulátor
- Lenovo IdeaPad 3 - 15,6" Full HD - AMD Athlon Silver 3050U - 4GB - 512GB SSD - Win10 PRO - MAGYAR
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- Xiaomi Mi 11 T Pro 8/256GB / 12 hó jótállás
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


