5 svar
42 visningar
Fritzzz är nöjd med hjälpen
Fritzzz 207
Postad: 17 okt 2022 22:44

"skräp värden" printas ut vid formatspecifkationen

Hej har ett återkommande problem med att utskriften på koden får helt andra värden än tänk, ofta väldigt stora eller små värden. Jag misstänker att det har något formatspecikationen att göra. Jag undrar vad som är fel och vad man kan undvika att få så här. Såhär ser min kod ut: 

sedan blir min output såhär.

 


#include <stdio.h> 
#define SIZE 5

int main(void){
    int input; 

    int arr[SIZE]; //array strl 5


     for (int i = 0 ; i < SIZE  ; i++){
        printf("array[%d]= ", i); // index i = (mata in heltal)
        scanf("%d", &input); //läser in 
        
}
//loop printar ut de inmatade värdena i ordning 
for (int i = 0 ; i < SIZE ; i++){
        //printf("The numbers entered for the array : \n"); 
        printf(" %d\n", arr[i]); 

    }
     return 0; 

}




Yngve 37878 – Livehjälpare
Postad: 17 okt 2022 22:49

Du läser in heltal i variabeln input, men du sätter aldrig elementen i arr till något, så de är oinitierade.

Fritzzz 207
Postad: 17 okt 2022 22:53
Yngve skrev:

Du läser in heltal i variabeln input, men du sätter aldrig elementen i arr till något, så de är oinitierade.

Hej tack så mycket för svar!!

Menar  du att jag ska sätta elementen i arr till int:s eller att jag måste använda mig av variabeln input? Förstod inte riktigt 

Yngve 37878 – Livehjälpare
Postad: 17 okt 2022 23:03

Du kan t.ex. i din scanf-sats läsa in värdena direkt till arr[i] istället för till variabeln input.

Fritzzz 207
Postad: 17 okt 2022 23:05
Yngve skrev:

Du kan t.ex. i din scanf-sats läsa in värdena direkt till arr[i] istället för till variabeln input.

okej, är det bara då att skriva &arr[i] och värdena går till arrayen?

Fritzzz 207
Postad: 17 okt 2022 23:13
Yngve skrev:

Du kan t.ex. i din scanf-sats läsa in värdena direkt till arr[i] istället för till variabeln input.

Tusen tack för hjälpen Ynge! Jag skrev om koden och det blir blev rätt nu. 

Svara Avbryt
Close