Hirdetés
- Lalikiraly: Kaáli Autó-Motor Múzeum
- gban: Ingyen kellene, de tegnapra
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- WireGuard VPN a mindennapokra
- GoodSpeed: Ágymatrac keresési kálvária
- sh4d0w: StarWars: Felismerés
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Ú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!
- Path of Exile (ARPG)
- Vezetékes FEJhallgatók
- Arc Raiders
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Milyen okostelefont vegyek?
- Teljes verziós játékok letöltése ingyen
- Windows 11
- Fejhallgató erősítő és DAC topik
- Ingatlanos topic!
- Okos Otthon / Smart Home
- További aktív témák...
- Z790 Strix-A, 14700K, 2x16GB 7200 mhz, Tuf 4080, Corsair H1000i
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 7 5700/5800X +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Üzletből, garanciával, DeLL Inspiron 16 5630 -i5-1340P-16 szál/16RAM/512SSD/16,1"FULLHD IPS
- -ÚJ,2 ÉV GAR- GAMER PC: i5-14400F (10mag/16szál) +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Thrustmaster T-GT II bázis - Thrustmaster Sparco P310 - Thrustmaster T3PM pedál - Playseat Evolution
- HIBÁTLAN iPhone 11 Pro 64GB Midnight Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3372
- BESZÁMÍTÁS! 32GB G.SKILL Trident Z5 RGB 7800MHz DDR5 memória garanciával hibátlan működéssel
- Samsung Galaxy S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkPad X1 Active Noise Cancellation fejhallgató
- Lenovo E490 Notebook i7/16/500
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

