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 | 28 |
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ý: 19.11.24 Príspevky: 749 Témy: 31 | 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 | 28 |
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: 13415 Témy: 1494 | 1494 Bydlisko: Bratislava |
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 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 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 24.04.1 LTS |
|
Registrovaný: 13.10.09 Prihlásený: 22.06.15 Príspevky: 168 Témy: 28 | 28 |
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ý: 19.11.24 Príspevky: 749 Témy: 31 | 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 | 66 Bydlisko: Žilina |
& nie je smerník, ale adresa premennej 'c' ....
_________________ C#, PHP, ... |
|
Registrovaný: 11.01.09 Prihlásený: 28.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
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 | 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 | 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 | 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 | 13 |
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ý: 19.11.24 Príspevky: 749 Témy: 31 | 31 Bydlisko: Ružomberok&... |
jo, aspon niekto pochopil jednoduchu vetu
|
|
Registrovaný: 11.01.09 Prihlásený: 28.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
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 | 28 |
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 |
---|
| v Assembler, C, C++, Pascal, Java | 10 | 823 | 03.02.2011 18:13 Bajzik | | v PHP, ASP | 3 | 432 | 10.03.2009 17:34 Tominator | | v JavaScript, VBScript, Ajax | 3 | 472 | 16.03.2010 20:59 juho | | v PHP, ASP | 4 | 461 | 24.05.2009 22:17 Blackdevil | | v Assembler, C, C++, Pascal, Java | 15 | 679 | 16.12.2010 14:22 arnie16 | | v Assembler, C, C++, Pascal, Java | 2 | 438 | 14.11.2012 18:09 faraon | | v PHP, ASP | 7 | 446 | 31.01.2009 21:38 stenley | | v Assembler, C, C++, Pascal, Java | 6 | 450 | 21.04.2014 23:34 XOLOO | | v JavaScript, VBScript, Ajax | 7 | 377 | 10.06.2014 22:57 hatto13 | | v PHP, ASP | 8 | 604 | 29.12.2010 19:36 misko16 | | v PHP, ASP | 11 | 900 | 09.10.2014 20:13 1daemon1 | | v Assembler, C, C++, Pascal, Java | 6 | 739 | 17.10.2012 22:41 Vicma | | v JavaScript, VBScript, Ajax | 4 | 796 | 25.01.2011 14:31 newboy1 | | v Operačné systémy Microsoft | 1 | 450 | 04.09.2013 12:12 mirom | | v Assembler, C, C++, Pascal, Java | 6 | 955 | 10.01.2010 10:24 ado21 | | v Operačné systémy Microsoft | 7 | 586 | 20.11.2011 10:31 andrej2321 |
|