Mi a baja ennek a programnak? (C/C++)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
using namespace std;
void kerdes()
{
char* szov[100];
gets(&szov); //Itt jelez hibát.
int hossz = strlen(szov);
printf ("A szöveged ilyen hosszú: %d", hossz);
}
int main()
{
kerdes();
cout << endl;
return 0;
}
char pointerekből álló tömböd van karaktertömb helyett
(vedd ki a csillagot)
ez egyébként mi akar lenni:
"#include <iostream>
#include <stdio.h>"
Így szokta meg...
Amúgy online IDE -n működik, de code::blocks -ban meg nem...
nekem egyébként lefut codeblocksban és ki is írja rendesen a betűk számát, ez a szabványtól függ, nem az IDE-től
amúgy ez egész egyszerűen memóriakezelési hiba, egy char pointerekből(4bájt) álló 100 elemű inicializálatlan tömbre ráírsz néhány karaktert amit a felhasználó megad, pointerek helyére karaktereket írsz
amúgy így több helyet foglaltál, próbáld ki, ha 100*( sizeof(void*)/sizeof(char) ) számú karakternél többet írsz (ez 400 lesz a legtöbb gépen), esetleg segmentation faulttal elszállhat a progi, egyébként az eredeti 100-as char tömb után már 100+al elszállhat
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!