Külső függvény visszatérési értéke miért nem jó?
megszámolja a beírt név karaktereinek számát egy külső függvénybe. Az 'x' visszatérési értéke -858993460. Miére?
#include "stdafx.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
int karakterszamlalo (char nev[35])
{
int i=0;
int x=0;
int valtozo=0;
while (valtozo!=1)
{
if (nev[i]!='\0') // beíráskor \0-val zárja le pl.: Peti\0
{
i++;
x++;
}
else {valtozo=1;}
}
return x;
}
void main()
{
int x;
char nev[35];
printf("Kerem a nevet: ");
gets(nev);
karakterszamlalo(nev);
system ("cls");
printf("%d",x);
for (int i=0; i<=x; i++)
{
printf("%c",nev[i]);
}
getch();
}
Tragédia.
Először is két különböző x-ed van.
A kettő teljesen független.
Szép dolog, hogy a mainen belül meghívod a függvényt, de az éppenséggel semmi láthatót nem csinál.
A main-es x-ed meg teljesen inicializálatlan, azért mutat értelmetlen értéket.
x=karakterszamlalo(nev);
Így esetleg...
Ezen kívül elég gáz a ++i, ++x. Mi a fenének van két különböző változód, ha pontosan ugyanazt csinálják? bőven elég lenne az i is.
Tragédia vagy nem... nem úgy születtem hogy tudok programozni, valamikor el kell kezdeni..
Hasznos volt a válasz Köszönöm!!
"nem úgy születtem hogy tudok programozni, valamikor el kell kezdeni.."
ja előbb mondjuk lehetne tájékozódni a függvényekről, mielőtt használod őket
amúgy akkor mégis úgy születtél, hogy tudod, a gets() beolvassa szóközzel is, a scanf() meg alapértelmezésben nem
akkor most hogy is van ez
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!