• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Segmentation fault w gcc na linuksie, który nie występuje w eclipse na windowsie.

0 głosów
360 wizyt
pytanie zadane 3 grudnia 2017 w C i C++ przez Zwolin Nowicjusz (150 p.)

Witam, jako że to mój pierwszy post chciałbym pozdrowić wszystkich użytkowników forum :) Postanowiłem ostatnio przesiąść się na linuksa. Jako kompilatora używam gcc-7. Rozwiązywałem zadanie ze SPOJ'a Flamaster. Napisałem taki oto kod:

#include<stdio.h>

int main(){
    int a,b,c,n;
    char wyraz[200], wyraz2[200];
    scanf("%d", &n);
    for(int i=0; i<n; i++){
        scanf("%s", wyraz);
        a=b=c=0;
        while(wyraz[a]!='\n'){
            b=0;
            wyraz2[c]=wyraz[a];
            a++; c++;
            while(wyraz[a-1]==wyraz[a]){
                b++; a++;
            }
            if(b==1) {wyraz2[c]=wyraz[a-1]; c++;}
            else if(b>=2) {wyraz2[c]=b+'0'; c++;}
        }
        wyraz2[c]='\n';
        printf("%s", wyraz2);        
    }
    return 0;
}

Wiem, że zapis

wyraz2[c]=b+'0';

będzie działał tylko dla b z zakresu 0-9, ale większe numery zaimplementuje później. Szukałem błędu przez około 2 godziny, aż wysłałem kod koledze, który odesłał mi screena i powiedział, że u niego program działa bez problemu. Używa on Eclipse i Mingw. Nie wiem, czy powinienem używać innego kompilatora na linuksie? Czy popełniam gdzieś błąd?

1 odpowiedź

+1 głos
odpowiedź 3 grudnia 2017 przez the_danger Gaduła (4,800 p.)
wybrane 3 grudnia 2017 przez Zwolin
 
Najlepsza

C-stringi powinny być zakończone zerem czyli '\0' a nie znakiem nowej linii

while(wyraz[a]!='\0')
wyraz2[c]='\0';

 

Podobne pytania

+1 głos
1 odpowiedź 367 wizyt
pytanie zadane 17 lutego 2022 w C i C++ przez Yaqbek Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 255 wizyt
0 głosów
0 odpowiedzi 1,330 wizyt

93,632 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...