Hirdetés
- Google Pixel topik
- Milyen okostelefont vegyek?
- Microsoft Rewards
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- iPhone topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Apple iPhone Air - almacsutka
- 8000 nit, maradhat? A szaúdiaknál kezd a Honor 600 Pro
Új hozzászólás Aktív témák
-
gregory91
senior tag
Csak úgy érdekességként:
#include <stdio.h>
int main (){
char name[20];
char chars[5]={'a','b','c','d','e'};
int yes=0;
printf("Enter name: ");
scanf("%s",name);
for(int i=0;i<sizeof(name)/sizeof(char);i++){
for(int j=0;j<sizeof(chars)/sizeof(char);j++){
if(name[i]==chars[j]){
yes=1;}
}
}
printf("%s",yes?"YES\n":"NO\n");
printf("%ld name",sizeof(name)/sizeof(char));
printf("%ld chars",sizeof(chars)/sizeof(char));
return 0;} -
pmonitor
aktív tag
Én csak tanulmányozásra írtam a kódot, hogy az strstr() miért is nem működik karakterekre. Mert a karakter nem kezelhető strstr()-el. Viszont a ciklust nem tudod elkerülni, akár az ststr()-t, akár az strchr()-t használod. Egyébként én is elkövettem 1 hibát. A break-re nincs szükség, mert az elején a feltételben vizsgálom.
-
kovisoft
őstag
Ha karaktereket keresel egyesével stringben, akkor javaslom az strchr() használatát strstr() helyett, mert az strstr()-nek keresőstringet kell megadni, ezért nem fog működni const char restrictions[5] = {'a', 'b', 'c'} formával. Ezt láthatod is pmonitor kódjában, ha majd megnézed.
-
kovisoft
őstag
Azért nem működik így, mert az strstr() egy összefüggő rész-stringet keres meg az adott stringben, te pedig azt szeretnéd, hogy a megadott karaktereket külön-külön nézze meg, hogy benne vannak-e valahol a stringben, nem feltétlenül összefüggően és nem feltétlenül ugyanabban a sorrendben. Pl. ha "abc"-t keresel, azt az strstr() megtalálja az "aabcc"-ben, de nem találja meg az "aabbcc"-ben, mert ez utóbbinak az "abc" nem rész-stringje.
Azt kell csinálnod, hogy egy ciklussal végigmész a restrictions[] karakterein, és mindegyikre megnézed, hogy benne van-e a name-ben az adott karakter.
Szerk: lassú voltam
-
pmonitor
aktív tag
int main()
{
const char name[20];
const char restrictions[7] = "a\0b\0c\0";
printf("Enter name: ");
scanf("%s", name);
int i, ok = 1;
for (i = 0; restrictions[i] && ok; i += 2)
{
if (strstr(name, &restrictions[i]) != NULL)
{
ok = !ok;
break;
}
}
if (ok) printf("Name: %s\n", name);
else printf("Not a valid name!\n");
return 0;
}
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Debrecen és környéke adok-veszek-beszélgetek
- Eredeti játékok OFF topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vigneau interaktív lokálblogja
- Temu
- Ubuntu Linux
- Bambu Lab 3D nyomtatók
- Miskolc és környéke adok-veszek-beszélgetek
- További aktív témák...
- Philips Evnia 27" colos gaming monitor (27M2N3200A) sértetlen állapotban
- Mac Mini M1 8GB / 256GB + Satechi stand Kombó
- Ultra Prémium Gamer monitor! Dell Alienware AW3225QF! Legalacsonyabb piaci àr alatt! Garanciális!
- Corsair MP600 PRO LPX 2TB - PS5 SSD (2029-ig Garis)
- Dell i7 1355u(12x5Ghz)IRIS XE VGA,FullHD IPS,8-48/256-1TB,világító billentyűzet,Új állapot
- Dell Inspiron 16 Plus 7640 Ultra 7 / RTX 4060 16gb DDR5 1TB SSD/2.5K 120Hz Garancia
- AKCIÓ! Acer Predator Helios Neo 16 PHN16 notebook-i9 13900HX 16GB DDR5 1TB SSD RTX 4060 8GB W11
- Alkalmi vétel! HP Omen 17! I7 12700H / RTX 3070Ti 8GB / 1TB Nvme SSD / 16GB DDR5 !
- 27% - Számítógép! i7-4790 / GTX 1660 Super / 16GB DDR3 / 500GB SSD / 500w
- Dell OptiPlex/ Hp EliteDesk /Lenovo ThinkCentre mini, micro PC/ 8.-9.-10.gen/ Számla/garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

