| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Lidt hurtig hjælp med brug af int i en st~ Fra : Jesper Staun Hansen | 
  Dato :  07-05-07 08:39 |  
  |   
            hello
 
 Jeg har følgende i en header fil:
 struct {
    int id;
    char firstName[160];
    char lastName[160];
    char sex;
    int age;
    int department;
    int surveyAnswers;
 } data;
 
 
 
 Og så har jeg følgende stump kode i min main:
    printf("\nFill in your age: ");
    scanf("%i", data.age);
 
 Resultatet er en segmentation fault.
 Hvis jeg dog sætter:
    int age[1]
 så kører den fint.
 Dog senere i koden:
 
    while(data.department < 1 || data.department > 21) {
       printf("\nFill in your institute number. Type L to list institutes: ");
       scanf("%i", data.department);
       sleep((int) 3);
       printf("\nXXX %c XXX %i XXX", data.department, data.department[0]);
       if(data.department == 76) {
          printf("\n\nInstitut for Sociologi, Socialt Arbejde og Organisation 
 (1)");
          printf("\n.......");
       }
    }
 
 Første gang jeg trykker L så sker følgende:
 Fill in your institute number. Type L to list institutes: L
 
 XXX � XXX 0 XXX
 Fill in your institute number. Type L to list institutes:
 XXX � XXX 0 XXX
 
 Fill in your institute number. Type L to list institutes:
 XXX � XXX 0 XXX
 
 Fill in your institute number. Type L to list institutes:
 XXX � XXX 0 XXX
 
 Fill in your institute number. Type L to list institutes:
 XXX � XXX 0 XXX
 
 Altså, en uendelig while loop hvor den springer scanf over. Hvorfor får 
 den lige lyst til det?
 Hvis jeg derimod bare skriver et tal ind, så giver den det rigtige 
 resultatet ud, men ikke for det L.
 
 Hvorfor sker dette?
  
            
             |   |   
            
        
 
            
         
           Leo Havmøller (07-05-2007) 
         
	
            | Kommentar Fra : Leo Havmøller | 
  Dato :  07-05-07 11:53 |  
  |   
            > scanf("%i", data.age);
 
 scanf("%i", &data.age).
 
 Leo Havmøller. 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |