Hirdetés
- iPhone topik
- Megtartotta Európában a 7500 mAh-t az Oppo
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- EarFun Air Pro 4 - a cél a csúcs
- Apple iPhone 16 Pro - rutinvizsga
- Milyen okostelefont vegyek?
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S23 Ultra - non plus ultra
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Beépül a Nano Banana a Google Fotókba
Ú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.
-
tototos
addikt
válasz
Geresics
#3889
üzenetére
na figyi, a szamlalas függvényed honnan tudja a beolvasott szöveget? attól mert ugyanazt a nevet használnod még az nem lesz ugyanaz, plusz a változóknak illik kezdőértéket adni
void beolvas(char* szoveg)
{
printf("Adjon meg egy max. 70 karakter hosszu szoveget, majd usson ENTER-t!\n");
gets(szoveg);
}
int szamlalas(char *szoveg)
{
int db [B]= 0[/B];
int i [B]= 0[/B];
while (szoveg[i]!='\0' || szoveg[i]!='.')
{
if (szoveg[i]=' ') db++; // ha nem használsz {} jeleket akkor érdemes egy sorba írni az if-fel
i++;
}
return db;
}
Ú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!
- OpenMediaVault
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Assetto Corsa Rally
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kínai és egyéb olcsó órák topikja
- OLED TV topic
- Lenovo Legion Go: a legsokoldalúbb kézikonzol
- Konzolokról KULTURÁLT módon
- iPhone topik
- Tőzsde és gazdaság
- További aktív témák...
- AKCIÓ ÚJ Bontatlan Macbook Pro 14 M4 MAX 14 32GPU 36GB 1TB Magyar billentyűzet Azonnal átvehető Deák
- BONTATLAN Új iPhone 17 PRO MAX 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- AKCIÓ ÚJ Bontatlan Macbook Air 13,6 M4 10CPU/10GPU 16GB/512GB SSD TOUCH ID - Magyar Azonnal Deák tér
- Új Bontatlan Mac Studio M4 Max 2025 14cCPU /32cGPU / 36GB RAM / 512GB SSD - Azonnal Átvehető Deák.
- Gamer PC v2 , i5 14400F , RTX 5060 , 32GB RAM , 512GB NVME , 1TB HDD
- BESZÁMÍTÁS! Acer KG241QSbiip 24 165Hz TN FHD 1ms monitor garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Eladó Samsung Galaxy Tab A9 4/64GB / 12 hó jótállás
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 7600 / 32GB DDR4 / 1TB M.2 SSD
- Ikea Eilif Paraván, asztali elválasztó
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



