"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;
}
Du läser in heltal i variabeln input, men du sätter aldrig elementen i arr till något, så de är oinitierade.
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
Du kan t.ex. i din scanf-sats läsa in värdena direkt till arr[i] istället för till variabeln input.
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?
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.