Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    "C" Confronto tra stringhe

    Ciao a tutti, ho un problema con questo codice, scritto in C, che non deve fare altro che incrementare una variabile quando il carattere str1[i] è uguale al carattere str2[i].
    Compilando con gcc(-Wall) mi da solo il warning sulla gets, invece una volta lanciato e inserito "risp"(gets (risp)) non mi da niente ne va avanti ne errore..con gdb ho controllato e sembra che il ciclo giri all'infinito..non riesco a capirne il motivo, una stringa non termina con '\0'?

    Codice:

    #include <stdio.h>

    int main()
    {
    int a= 0; //Tiene il punteggio
    char risp[100]; //Input utente
    char str1[]="ponte";
    char str2[]="castello";

    int i, j, k; //Contatori

    printf(">> ");
    gets(risp);
    printf("\n");

    i = 0;
    k = 0;
    j = 0;

    while(str1[i] != '\0' || risp[j] != '\0')
    {
    if(str1[i] == risp[j]) //Se il carattere è presente in risp
    {
    k++;
    }
    }

    //Punteggio

    printf("K = %d\n", k);

    if(k == 0)
    {
    a=a-1;
    //Da qui salta al prossimo giocatore
    }
    else
    {
    a=a+1;
    }

    printf("Punteggio >>> %d\n", a);

    i=0;g
    k=0;
    j=0;

    while(str2[i] != '\0' || risp[j] != '\0')
    {
    if(str2[i] == risp[j]) //Se il carattere è presente in risp
    {
    k++;
    }
    }

    //Punteggio

    printf("K = %d\n", k);

    if(k == 0)
    {
    a=a-1;
    //Da qui salta al prossimo giocatore
    }
    else
    {
    a=a+1;
    }


    printf("Punteggio >>> %d\n", a);

    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Se nel ciclo non aumenti i contatori (i, j) è ovvio che va all'infinito ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    bene vuol dire che è ora di bere un caffè e darmi una sveglia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.