- gban: Ingyen kellene, de tegnapra
- SzőkeKapitán: Világ vége túlélők topicja
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Nyilvános wc-k.....még mindig hiánypótló...
- sziku69: Fűzzük össze a szavakat :)
- Fűtés és hűtés klímával, napelem segítségével
- Gurulunk, WAZE?!
- ldave: New Game Blitz - 2025
- KRTLPC: Ki és hogyan élt túl? Volt ám fennakadás
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
CPT.Pirk #2217 üzenetére
Ha bővebbet tudnál mutatni a linuxos hibáról akkor abban esetleg tudnánk segíteni.
Ami a kódot illeti: az i,j,len változókat kirakni globálisba nem szép dolog, tedd őket bele az strLen függvényedbe. Az if (i==1) len=0 felesleges mivel ha nem volt argumentum a len úgyis nulla. Az i-t ellenőrizni pedig megtévesztő, hiszen tulajdonképpen az argc-t akarod vizsgálni (persze az értéke ugyanaz lesz, csak logikailag gubancos).
Továbbá szebb lenne, ha a kiírás nem az strLen-ben lenne, hanem a main-ben az strLen visszatérési értéke alapján.
Ha jól értem a logikát, akkor az argumentumok között egy szóközt feltételezve korrigálod a hosszt. Ez ugye addig jó amíg tényleg annyi van. Ha a felhasználó egyetlen argumentummal futtatja akkor nyilván jó eredményt fog adni egyébként.
$ cat >test.c
#include <stdio.h>
int strLen(int argc, char *argv[]) {
int i, j, len = 0;
for (i = 1; i < argc; i++)
for (j = 0; argv[i][j]; j++)
len++;
if (argc > 2) len += argc - 2;
return len;
}
int main(int argc, char *argv[]) {
printf("hossz: %d\n", strLen(argc, argv));
return 0;
}
$ gcc -Wall -O2 test.c
$ ./a.out hello world
hossz: 11
$ ./a.out "hello world"
hossz: 11
$ ./a.out hello world
hossz: 11
$ ./a.out "hello world"
hossz: 13
Ú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!
- Kerékpárosok, bringások ide!
- Motoros topic
- Autós topik
- gban: Ingyen kellene, de tegnapra
- Renault, Dacia topik
- Milyen asztali médialejátszót?
- Lakáshitel, lakásvásárlás
- Kerékpársportok
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- SzőkeKapitán: Világ vége túlélők topicja
- További aktív témák...
- ÚJ, 27% számla! Dell Alienware AW3423DWF OLED Monitor! 3440x1440 / 165Hz / 0.1ms / FreeSync!
- Lenovo ThinkPad P14s 14 FHD(1920x1080)i7-1165G7/32GB RAM/512GB SSD/Nvidia T500 4GB/4G LTE
- Kingston HyperX Renegade DDR5 6400 CL32 (6000CL30) 2X16 GB - 2033-ig gari itthon
- AMD Ryzen 9 3900X 12-Core 3.8GHz (64M Cache, 4.6GHz) AM4 Processzor
- AMD Ryzen 9 5900X 12-Core 3.7GHz AM4 (64M Cache, Up to 4.8 GHz) Processzor!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Bomba ár! Dell Precision 5530 - i7-8850H I 16GB I 512SSD I 15,6" FHD I P1000 I Cam I W11 I Gari!
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- ÁRCSÖKKENTÉS ASUS HD6870 videókártya
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max