- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- No Voice in the Galaxy
- Luck Dragon: Asszociációs játék. :)
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- laskr99: Újrakezdem a processzor és videókártya szilícium magok fotózását
- Klaus Duran: 2025 dude
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Palpatine - A Terv
- eBay-es kütyük kis pénzért
Ú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!
- Kezdő fotósok digitális fényképei
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Milyen videókártyát?
- Kertészet, mezőgazdaság topik
- Kompakt vízhűtés
- Kuponkunyeráló
- Az ASUS legfrissebb analóg billentyűzete az ízületeinket is kímélni szeretné
- Renault, Dacia topik
- AMD GPU-k jövője - amit tudni vélünk
- E-roller topik
- További aktív témák...
- LG 27GR93U-B - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDR 400
- ÁRGARANCIA! Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- AKCIÓ! ASUS ROG Zephyrus GA403UV Gamer notebook - R9 8945HS 16GB RAM 1TB SSD RTX 4060 8GB WIN11
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest