Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C] Funzione length

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    [C] Funzione length

    Come mai questa funzione entra in un loop infinito ???

    codice:
    int length(char str[20]){
      int i;
    
      while(str++!='\0')
    	  i++;
      return i;
    }
    Quando incontra il terminatore, non si dovrebbe fermare il ciclo ???

    Dove sbaglio ???

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Scusate... ho gia' risolto



    codice:
    int length(char str[20]){
      int i,a;
      i=a=0;
    
      while(str[i++]!='\0')
    	  a++;
      return a;
    }

    Comunque ho una domanda: come mai con str++ non aumenta l'indice dell'array char ???

    Ciao

  3. #3
    Originariamente inviato da keratox
    Scusate... ho gia' risolto



    codice:
    int length(char str[20]){
      int i,a;
      i=a=0;
    
      while(str[i++]!='\0')
    	  a++;
      return a;
    }

    Comunque ho una domanda: come mai con str++ non aumenta l'indice dell'array char ???
    Cosi` su due piedi, direi perche` 'str' decade a puntatore al primo elemento, cosi` il confronto non viene fatto sul contenuto, ma sull'indirizzo.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Ah capito.

    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.