Code::BLocks e Array di char

di il
4 risposte

Code::BLocks e Array di char

Ciao a tutti!
Ho qualche problemino con Code Blocks e le stringhe...
Con un programma di questo tipo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 5

int main()
{
    char str1[N], str2[N];

    printf("Inserisci prima stringa:\n");
    scanf("%s", str1);
    printf("Inserisci seconda stringa:\n");
    scanf("%s", str2);

    printf("%s\n", str1);
    printf("%s\n", str2);

    return 0;
}
Controllando con il compilatore online so che funziona...
Come output dovrebbe dare la stampa della prima e della seconda stringa inserite ma Code Blocks cancella sempre tutte le stringhe inserite precedentemente e salva solo l'ultima, dando come output solo la stampa dell'ultima stringa in questo caso str2 ma aggiungendo più stringhe sarebbe "strn".
Debuggando il programma con i whatces si nota proprio il fatto che assegni a str1[0] il fine stringa e poi valori casuali

Avete qualche idea??
Grazie 1000 in anticipo

PS
uso Windows 10
la versione di Code::Blocks è la 17.12

4 Risposte

  • Re: Code::BLocks e Array di char

    1) invece di N uguale a 5, fallo di 500
    2) i valori casuali NON SONO UN PROBLEMA, l'importante e' che PRIMA DEI VALORI CASUALI ci sia ALMENO uno ZERO

    STUDIATI, DI NUOVO, che cosa e' una "stringa" nel C!

    E STUDIA SUI LIBRI!
  • Re: Code::BLocks e Array di char

    Inserendo 5 come lunghezza puoi usare stringge al massimo di 4 caratteri come cane pera mare

    Qualsiasi altra stringa più lunga causa il problema

    Sono le basi da studiare
  • Re: Code::BLocks e Array di char

    oregon ha scritto:


    Inserendo 5 come lunghezza puoi usare stringge al massimo di 4 caratteri come cane pera mare

    Qualsiasi altra stringa più lunga causa il problema

    Sono le basi da studiare
    Si è quello che sbagliavo, doveva essere dimensionata per 5 quindi 6
    Grazie 1000
  • Re: Code::BLocks e Array di char

    Se metti 20 non cade il mondo
Devi accedere o registrarti per scrivere nel forum
4 risposte