Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56

    [c]strighe senza strlen

    volevo contare i caratteri di una stringa senza usare l'apposita funzione, credo di aver commesso qualche errore il compilatore ma da due warn
    [Warning] multi-character character constant
    main.c [Warning] comparison is always true due to limited range of data type
    mi potete aiutare a capire
    codice:
    #include <stdio.h>
    int main()
    {
      char stringa[]="onomatopeico";
      int a=0;
      while(stringa[a]!='/0');
      {
      a++;
      }  
      printf("%d",a);
      getchar();
      return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [c]strighe senza strlen

    Originariamente inviato da jc74
    while(stringa[a]!='/0');
    Mi pare che il carattere fine stringa sia \0 :master:
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [c]strighe senza strlen

    In questa linea

    codice:
      while(stringa[a]!='/0');
    ci sono due errori ... a te scoprirli
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    1 errore ;;;;;;;;;;;;;;;;;;;;;;

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    codice:
    while(stringa[a]!='m')
    questo funge direi che il terminatore non è un char, ma come comparare char a int? (terninatore non è uno zero??)

    tranformare zero in char forse!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da jc74
    codice:
    while(stringa[a]!='m')
    questo funge direi che il terminatore non è un char, ma come comparare char a int? (terninatore non è uno zero??)

    tranformare zero in char forse!
    Ma che stai dicendo?

    In ogni caso, un esempio potrebbe essere

    codice:
    #include <stdio.h>
    
    int main()
    {
      char stringa[]="onomatopeico";
    
      int a=-1;
      while(stringa[++a]) ;
    
      printf("%d",a);
      getchar();
      return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    questo funziona fino a m
    codice:
    #include <stdio.h>
    int main()
    {
      char stringa[]="onomatopeico";
      int a=0;
      while(stringa[a]!='m')
      {
      a++;
      }  
      printf("%d",a);
      getchar();
      return 0;
    }
    out 3
    il terminatore come indicarlo ('/0')?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi il mio ultimo post ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    ora letto
    veramente a=-1 ok
    ma la condizione di while non mi è molto chiara capisco incrementare prima a ma poi??!?
    non è possibile indicare il terminatore
    codice:
     while(stringa[a]!=' TERMINATORE')//ripeti fino a incontrare il TERMINATORE
    o-n-o-m-a-t-o-p-e-i-c-o-/n

    ps le maiuscole non sono voce alta ma solo per evidenziare il particolare

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    ci sono arrivato
    grazie Oregon
    se posso c'è un modo per indicare il terminatore nell' istruzione?
    while(stringa[a]!=' TERMINATORE')
    (ho letto post passati in cui dicevi che /n non era EOF

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.