Ú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!
- SAPPHIRE Radeon RX 7900 XT Pulse Gaming OC 20G
- Macbook Air 15" M4 2025 - 16 GB RAM, 512 GB SSD - Apple garancia (116)
- Macbook Air 13" M1 2020 - 16 GB RAM, 256 GB SSD - garancia (112)
- Samsung Galaxy Watch5 Pro LTE titán ház, zafír üveg
- Xiaomi Mesh System AC 1200 EU 4 db egyben eladó. 2027.05-ig Alza gari.
- DDR5 8/ 16/ 32GB 4800-5600MHz UDIMM PC RAM, több db- számla, garancia
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Apple iPhone 15 Pro 128 GB Blue Titanium 1 év Garancia Beszámítás Házhozszállítás
- ÚRIS10!!! RAMÁRON! LEGION 5 i7-13650HX 32GB RAM 1000GB SSD RTX 5070 8GB
- BESZÁMÍTÁS! Asus Rog Maximus IX Hero Z270 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
