Új hozzászólás Aktív témák
-
jattila40
tag
A fügvénynek csak egy visszatérő értéke lehet, és az sem akármilyen típusú. Ha felszín és térfogat is kell, akkor írhatsz egy void fv.-t (eljárást), aminek 4 paramétere lesz, valahogy így:
#include <stdio.h>
#define PI 3.141592654void felszin_terfogat(float sugar, float magassag,float *felszin, float *terfogat)
{
if(felszin==NULL || terfogat==NULL)return;
*felszin=2*sugar*PI*(sugar+magassag);
*terfogat=sugar*sugar*PI*magassag;
}void main(int argc, char*argv[])
{
float sugar,magassag,felszin,terfogat;if(argc<3){
printf( "henger felszinet es terfogatat szamolja ki a program\r\n\
parancssori argumentumokkal is hivhato: <programnev> <sugar> <magassag>\r\n");
printf("sugar: ");
scanf("%f",&sugar);
printf("magassag: ");
scanf("%f",&magassag);
}
else{
sugar=atof(argv[1]);
magassag=atof(argv[2]);
}felszin_terfogat(sugar,magassag,&felszin,&magassag);
printf("felszin: %10.5f\r\n",felszin);
printf("terfogat: %10.5f\r\n",terfogat);
} -
jattila40
tag
válasz
!wannabe
#1214
üzenetére
Nem szerencsés a cn struktúrában csak a névre mutató pointert használni, el kellen tárolni benne magát a nevet. A példádban jól fog működni, mivel az insert argumentumában megadott nevek sztring konstansok, amiknek a fordító fix címet adott. De mi van akkor, ha pl. egy függvényből hívod az insert függvényt, aminek a hívó egy lokális változóját adod át név paraméterként (pl. billenttűzetről bekért input). Ha a hívó fv.-ből kilépsz, érvénytelen címre fognak mutogatni a cn struktúrád name mezői. Szerintem a name pl. char name[50] kell hogy legyen, és a name mezőbe strcpy-nal másold az insert fv. c paramétere által mutatott sztringet. Persze figyelj, nehogy túlírd a name tömböt. Most a cn struktúrád mérete 8 byte, mivel 2 pointert tartalmaz. A javasolt módosítás után 54 byte lesz.
Ú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!
- Óra topik
- PlayStation 3
- Fejhallgató erősítő és DAC topik
- One mobilszolgáltatások
- Vezetékes FEJhallgatók
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- A Vivo S50 Pro mini is beáll a sorba
- Búcsúzik a magyar fejlesztésű GFXBench és CompuBench
- Sajnos nem lesz ott a The Game Awards-on a The Witcher 4
- További aktív témák...
- Igényes, esztétikus gamer PC - i5 12400F / 32GB / RTX 3070 / 1TB NVMe / 650W Silver
- Csere-Beszámítás! Acer Predator Helios 300 Gamer Laptop! I7 10750H / RTX 2060 / 1TB SSD! 17,3 Col!
- Samsung Galaxy Fold 6 256GB Navy Blue
- Apple iPhone 13 Pro Max 128GB Akku: 100%, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Microsoft Surface Pro 8 i7-1185G7 16GB 1000GB 1 év garancia
- Samsung A16 mobiltelefon
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- BESZÁMÍTÁS! Dell Latitude 3530 üzleti notebook - i5 1235U 8GB DDR4 512GB SSD Intel Iris Xe WIN11
- Eladó Honor X7a 4/128GB Kék / 12 hónap jótállással!
- Azonnali készpénzes nVidia RTX 4000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest

