- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Vezetékes FEJhallgatók
- Milyen processzort vegyek?
- Milyen házat vegyek?
- Azonnali notebookos kérdések órája
- AMD vs. INTEL vs. NVIDIA
- Új csodafegyverrel gyorsítaná CPU-it az Intel
- Fejhallgató erősítő és DAC topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Vezeték nélküli fülhallgatók
Ú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!
- Crimson Desert
- Milyen routert?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- DVBViewer
- Milyen légkondit a lakásba?
- Vezetékes FEJhallgatók
- Milyen processzort vegyek?
- AliExpress tapasztalatok
- Samsung kuponkunyeráló
- További aktív témák...
- Nintendo Switch 2, dobozában, játékkal, ajándék tokkal és kiegészítőkkel, 6 hónap garanciával eladó!
- HP PROBOOK X360 11 G5 N5030 /8GB/256 GB SSD/11.6" Hd Touch laptop+tablet garanciás
- MSI GeForce RTX 4080 SUPER GAMING X SLIM 16G - Alza garancia 2027.01.31 - BESZÁMÍTOK!
- Prémium Tápegységek Yó árasítva Ingyen Fox-al érdekelnek?
- Szép Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB 4K OLED
- Apple iPhone SE 2020 128 GB Fehér 1 év Garancia Beszámítás Házhozszállítás
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Samsung Galaxy S21+ / 8/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

