Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Segmentation falut - początkowa wartość zmiennej, która nie ma przypisania

Ostatnio zmodyfikowano 2013-05-27 17:31
Autor Wiadomość
Fedox9
Temat założony przez niniejszego użytkownika
[C++] Segmentation falut - początkowa wartość zmiennej, która nie ma przypisania
» 2013-05-27 16:42:45
Witam.

Ostatnio stalem sie szczesliwym posiadaczem Raspbarry Pi i zaczalem na nim programowac. Jednak po skompilowaniu pierwszego programu, pokazuje sie blad
"Segmentation falut". Nie wiem o co chodzi, program kompiluje sie normalnie bez zadnych bledow i warningow. Oto kod:

C/C++
#include <iostream>

using namespace std;

int main()
{
   
    int ile;
    int tablica[ ile ];
    int a;
    int licznik;
    cout << "Wprowadz ile liczb chcesz dodac: ";
    cin >> ile;
    for( licznik = 0; licznik = ile; licznik++ )
    {
       
        cout << "Wprowadz " << licznik << " liczbe:";
        cin >> tablica[ licznik ];
       
    }
   
   
}
Prosze o pomoc.

PS: Przepraszam za brak polskich znakow, musze sobie zmienic jezyk klawiatury.
P-84080
unimator
» 2013-05-27 16:58:59
C/C++
//(...)
int ile;
int tablica[ ile ];
//(...)
Zmienna "ile" domyślnie przyjmie wartość zero (choć z tego co wiem to mogłaby przyjąć dowolną wartość). Utworzysz w ten sposób tablicę zera elementów. Jakakolwiek próba operowania na czymś takim skończy się właśnie błędem Segmentation fault.

@edit
C/C++
//(...)
for( licznik = 0; licznik = ile; licznik++ )
//(...)
W większości przypadków jest to pętla nieskończona. Zgadnij dlaczego :).

Radziłbym podszkolić podstawy.

@down
Rzeczywiście :P To działa tylko zmienne globalne, chociaż nie jest to regułą i zależy od kompilatora.
P-84083
pekfos
» 2013-05-27 17:31:14
Zmienna "ile" domyślnie przyjmie wartość zero
Nie przyjmie.
P-84094
« 1 »
  Strona 1 z 1