Hirdetés
- Megtartotta Európában a 7500 mAh-t az Oppo
- Google Pixel 9 Pro XL - hét szűk esztendő
- iPhone topik
- Tokgyártó leplezi le újból a Galaxy S26 Ultra formáját
- One mobilszolgáltatások
- Samsung Galaxy A54 - türelemjáték
- Okosóra és okoskiegészítő topik
- Lesz is reklám a Nothing telefonjainak zárképernyőjén, meg nem is
- Poco F8 Ultra – forrónaci
- Motorola Edge 50 Neo - az egyensúly gyengesége
Ú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!
- Elektromos rásegítésű kerékpárok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- alza vélemények - tapasztalatok
- Elektromos autók - motorok
- gban: Ingyen kellene, de tegnapra
- Megtartotta Európában a 7500 mAh-t az Oppo
- Milyen TV-t vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen légkondit a lakásba?
- PlayStation 5
- További aktív témák...
- Bomba ár! HP EliteBook 840 G6 - i7-8GEN I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo X13 G2i - i5-1135G7 I 16GB I 256SSD I 13,3" WUXGA Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo X1 Carbon G7: i5-8265U I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- Bomba ár! HP EliteBook 845 G7 - Ryzen 5 4650U I 16GB I 512SSD I 14" FHD I Cam I W11 I Gari
- Bomba ár! Dell Latitude 5510 - i7-10G I 16GB I 512SSD I HDMI I 15,6" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- GYÖNYÖRŰ iPhone 13 Mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3822
- iPhone 13 Pro Max 128GB 100% (1év Garancia)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


