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

    [C] Confrontare un solo carattere di una stringa

    Ho questo codice, il cui scopo è togliere ogni spazio da una stringa, ma non funziona perché (penso) che in quell'if consideri tutti i caratteri a partire da [i] e non il carattere [i]...
    Si potrebbe copiare temporaneamente il carattere in un char... Ma se si può fare in altro modo è meglio

    codice:
    #include <stdio.h>
    #include <string.h>
    
    #define MAXLEN 512
    
    int main(void)
    {
        char expression[MAXLEN];
        char cleanexpr[MAXLEN];
        int i;
    
        printf("Inserisci una espressione > ");
        gets(&expression);
    
        for (i = 0; i < strlen(expression); i++)
        {
            if (expression[i] != " ")
            {
                strncat(&cleanexpr, &expression[i], 1);
            }
        }
    
        printf("%s", cleanexpr);
        return 0;
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    codice:
    " "
    E' una stringa contenente un carattere, non il carattere spazio (è un const char *).

    I caratteri si identificano con l'apice singolo. Questo è lo spazio:

    codice:
    ' '
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ops
    Grazie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.