Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- iPhone topik
- Honor Magic V2 - origami
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Google Pixel topik
- Bemutatkozott a Poco X7 és X7 Pro
- Kétezer eurós csomag lehet a Vivo X300 Ultra
Új hozzászólás Aktív témák
-
dudika10
veterán
válasz
Geresics
#3889
üzenetére
#include <stdio.h>
#include <string.h>
void beolvas(char * szoveg)
{
printf("Adjon meg egy max. 70 karakter hosszu szoveget, majd usson ENTER-t!\n");
gets(szoveg);
return;
}
int szamlalas(char *szoveg)
{
int db=0;
int i=0;
while (szoveg[i]!='\0' && szoveg[i]!='.')
{
if (szoveg[i]==' ')
db++;
i++;
}
return db;
}
int main()
{
char szoveg[71];
int db;
beolvas(szoveg);
db=szamlalas(szoveg);
printf("A szoveg: %s, szavak szama: %d\n", szoveg, db);
return 0;
}Így jó.
A while ciklusod végtelenciklusba kerülne, nem logikai vagy, hanem és kapcsolat kell. Ha bármelyik megtörténik egyből ki kell lépni.
Láthatod azt is, hogy sztringet hogy kell átadni a függvénynek, és azt is, hogy a vissszatérési értéket hogyan kell használni.
Felhívnám a figyelmed az int db=0; és int i=0; sorokra. A deklarált változók memóriaszemetet tartalmaznak mindaddig, amíg értéket nem adsz nekik. Lehet, hogy az i-ben például a 2341 volt tárolva pont, és akkor úgy kezded, hogy a 71 lefoglalt bájtodból a 2341-ediket akarod olvasni, ahol lehet, hogy éppen az operációsrendszer dolgozik. Ezt nem szabad, ezért a fordító figyelmeztet, hogy adj értéket használat előtt.Remélem senki nem fogja leharapni ezért a fejem, de a BME VIK villamosmérnök hallgatók első féléves tárgya a C, és ebben a félévben nagyszerű diasort állítottak össze az oktatók.
[link]
Van gyakorlati anyag, elméleti anyag, rengeteg példa.
Ú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!
- Jura C60 I Szervizelve I Easy-cappuccino fej I 3 hónap garancia I Számla I Beszámítás
- Macbook Pro 16" A2485 2021 M1 Pro 16/512 (3) (106 ciklus 97% akku)
- Macbook Pro 16" A2485 2021 M1 Pro 16/512 (2) (72 ciklus 84% akku)
- Samsung Galaxy S23 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- ANTEC TORONY PC HÁZ
- Honor 200 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Watch 4 LTE 6 hónap Garancia Beszámítás Házhozszállítás
- Dell Precision 7550,15.6,FHD,i7-10850H,16GB DDR4,256GB SSD,Quadro T2000 4GB VGA,WIN11,LTE
- 27% - ASUS Vivobook OLED Notebook! Ryzen 5 7535HS / 16GB 6400MHz / 500GB NVMe
- HIBÁTLAN iPhone 11 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4388
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


