| | |
| Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Autor | Správa |
---|
Registrovaný: 13.10.09 Prihlásený: 22.06.15 Príspevky: 168 Témy: 28 | Napísal remus: 08.10.2010 9:00 | |
|
Zdravím, v C som úplný začiatočník..
Potreboval by som pomôcť s triválnosťou typu :
Citácia: Zadaj meno : bablbaba tvoje meno je ....
Jasan že stačí načítať reťazec znakov, následne ho vypísať cez printf..
Ale pokiaľ viem, tak pôvodné Cčko nepodporuje, resp. neobsahovalo premennú typu string. Ako teda na to ?
Napadlo mi jednoducho spraviť char c[50]; , čo im vytvorí 49znakov + ukončovací znak, ale cez scanf ani getchar neviem do takéhoto niečoho načítať string.
Na nete sa povaľuje kopa návodov, ale tam už miešajú C, C++ a C# dokopy, čo ja nechcem. Potreboval by som to striktne v Cčku..
_________________ Laptop: Model Name Dell Studio 1555 | CPU Intel Dual Core Centrino 2.4ghz | RAM 4096 MB | SSD Samsung 840 Evo: 500GB | Graphics Ati Radeon HD 4570 | Display Resolution 1366*768 | OS Windows 7 Professional x64 |
|
Registrovaný: 19.09.06 Prihlásený: 21.04.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
a co ti na tom nejde? to bezne funguje scanf("%s",c);
|
|
Registrovaný: 13.10.09 Prihlásený: 22.06.15 Príspevky: 168 Témy: 28 | Napísal autor témy remus: 09.10.2010 22:49 | |
|
Ide mi to, ale používam Visual Studio, ktoré je primárne CPP, čiže ak aj v C súbore hodím niečo z cpp, tak nevyhodí chybu..
Potreboval by som to striktne v C... Je to čisté Cčko ?
_________________ Laptop: Model Name Dell Studio 1555 | CPU Intel Dual Core Centrino 2.4ghz | RAM 4096 MB | SSD Samsung 840 Evo: 500GB | Graphics Ati Radeon HD 4570 | Display Resolution 1366*768 | OS Windows 7 Professional x64 |
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 09.10.2010 22:54 | |
|
Kód: int main() { char c[50]; scanf("%s",&c); return 0; }
to je C, ale Visual ti to aj tak skompiluje...v c skompilujes aj kod z assembleru
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 13.10.09 Prihlásený: 22.06.15 Príspevky: 168 Témy: 28 | Napísal autor témy remus: 10.10.2010 0:36 | |
|
Diky chalani..
Miatlo ma, že túto únikovú sekvenciu som nikde nenašiel...
_________________ Laptop: Model Name Dell Studio 1555 | CPU Intel Dual Core Centrino 2.4ghz | RAM 4096 MB | SSD Samsung 840 Evo: 500GB | Graphics Ati Radeon HD 4570 | Display Resolution 1366*768 | OS Windows 7 Professional x64 |
|
Registrovaný: 19.09.06 Prihlásený: 21.04.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
JanoF píše: Kód: int main() { char c[50]; scanf("%s",&c); return 0; } to je C, ale Visual ti to aj tak skompiluje...v c skompilujes aj kod z assembleru
je tam potrebny ten &? ved to uz je smernik.
//"unikova sekvencia pripomenul si mi prednasajuceho z javy, co prelozil vsetko co sa dalo (je to povodom srb)
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
& nie je smerník, ale adresa premennej 'c' ....
_________________ C#, PHP, ... |
|
Registrovaný: 11.01.09 Prihlásený: 23.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 10.10.2010 14:28 | |
|
smerník = pointer = adresa
Ak potrebuješ získať adresu poľa ( čiže adresu prvého prvku poľa ), tak to môžeš urobiť takto:
Kód: c; alebo takto: Kód: &c[0];
Čiže znak & tam nie je nutný, keďže "%s" očakáva práve adresu poľa znakov.
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
súhlasím, že pointer = smerník (je to obyčajný preklad do SK)
ale nesúhlasím, že pointer = adresa
pointer (*) = premenná, ktorá ukazuje (obsahuje) na adresu nejakej premennej
adresa (&) = adresa premennej
pokiaľ by adresa a smerník boli identickou vecou, načo by sa používali dva termíny (referencia a dereferencia)
vďaka dereferencii (smerníku, pointeru, hviezdičke (stále to isté ale inak pomenované)) môžeš získať hodnotu na danej adrese a môžeš tú hodnotu meniť
vďaka referencii (ampersandu) získame adresu danej premennej
je to už pár rokov čo som naposledy robil s C a C++, ale takto si to pamätám ja..
_________________ C#, PHP, ... |
|
Registrovaný: 04.03.09 Prihlásený: 21.09.13 Príspevky: 24 Témy: 0 |
Nemusi ukazovat len na premennu , moze ukazovat na hocijaky datovy objekt.
Suhlasim s waltherom , pointer != adresa. Pointer totiz definuje aj typ datoveho objektu na ktori ukazuje ...
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
jo, ďakujem za doplnenie je fajn vedieť že som si zo školy aspoň dačo dobre zapamätal
_________________ C#, PHP, ... |
|
Registrovaný: 16.02.08 Prihlásený: 08.12.10 Príspevky: 235 Témy: 13 | Napísal ado21: 10.10.2010 21:09 | |
|
walther píše: & nie je smerník, ale adresa premennej 'c' ....
stopa myslel, ze & tam netreba, lebo c uz je pointer a teda jeho hodnota je priamo adresa, s cim pocita funkcia scanf(...)
_________________ Učet je neaktívny. |
|
Registrovaný: 19.09.06 Prihlásený: 21.04.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
jo, aspon niekto pochopil jednoduchu vetu
|
|
Registrovaný: 11.01.09 Prihlásený: 23.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.10.2010 9:51 | |
|
Jasné walther, musím sa ti ospravedlniť, teraz vidím, že som napísal blbosť. Niekedy mám problém vyjadriť svoje myšlienky
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 13.10.09 Prihlásený: 22.06.15 Príspevky: 168 Témy: 28 | Napísal autor témy remus: 17.10.2010 21:33 | |
|
Diky všetkým chalani, mne trebalo to %s, nebol som si istý či to tak môže byť..
Lebo sa mi zdalo divné, že premennú string nepozná, ale Escape Sequence string áno..
_________________ Laptop: Model Name Dell Studio 1555 | CPU Intel Dual Core Centrino 2.4ghz | RAM 4096 MB | SSD Samsung 840 Evo: 500GB | Graphics Ati Radeon HD 4570 | Display Resolution 1366*768 | OS Windows 7 Professional x64 |
|
| Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| opatovne nacitanie Stringu - JAVA v Assembler, C, C++, Pascal, Java | 10 | 776 | 03.02.2011 18:13 Bajzik | | vycuc zo stringu v PHP, ASP | 4 | 436 | 24.05.2009 22:17 Blackdevil | | java - kontrola stringu v Assembler, C, C++, Pascal, Java | 15 | 641 | 16.12.2010 14:22 arnie16 | | C++ kopirovanie stringu v Assembler, C, C++, Pascal, Java | 2 | 408 | 14.11.2012 18:09 faraon | | Pole do stringu v PHP, ASP | 3 | 397 | 10.03.2009 17:34 Tominator | | Dom z stringu v JavaScript, VBScript, Ajax | 3 | 442 | 16.03.2010 20:59 juho | | pridavanie medzier do stringu v PHP, ASP | 7 | 420 | 31.01.2009 21:38 stenley | | JAVA - získanie stringu zo súboru v Assembler, C, C++, Pascal, Java | 6 | 418 | 21.04.2014 23:34 XOLOO | | return stringu po ajaxovom calle v JavaScript, VBScript, Ajax | 7 | 344 | 10.06.2014 22:57 hatto13 | | Odstranenie nadbytocnych medzier, tabulatorov zo stringu.... v PHP, ASP | 11 | 851 | 09.10.2014 20:13 1daemon1 | | ako najst poziciu v stringu regexpom? v PHP, ASP | 8 | 559 | 29.12.2010 19:36 misko16 | | Rozdelenie stringu do pola stringov v Jave v Assembler, C, C++, Pascal, Java | 6 | 692 | 17.10.2012 22:41 Vicma | | Nacitanie suboru v Assembler, C, C++, Pascal, Java | 5 | 573 | 23.08.2014 21:35 nasm | | nacitanie profilu v Notebooky a netbooky | 1 | 1067 | 20.01.2011 19:29 majky358 | | Nacitanie BIOSu v AMD čipové sady | 11 | 839 | 05.12.2015 12:09 filip987 | | Načítanie webu v Ostatné | 6 | 467 | 21.06.2013 14:35 ofun |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|