Ú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!
- Autós topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Projektor topic
- PlayStation 5
- Forza sorozat (Horizon/Motorsport)
- Path of Exile 2
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Apple asztali gépek
- PH!otósok beszélgetős, offolós topikja
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- További aktív témák...
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

