0

When I try to get user input for the dynamic array, it stops at the first for loop. It gives me an error that my program has stopped working. Help me out!

#include<stdio.h>
#include<stdlib.h>

int main(){
    int count = 0, sum = 0, *number = NULL, index = 0, size = 0;
    scanf("%d", &size);

    number = (int *)calloc(size, sizeof(int)); //Dynamic allocation

    printf("Enter the elements\n");
    for(index = 0; index < size; index++){
        scanf("%d",number[index]); //Getting the input values from user but i get an error
    }
    return 0;
}
2
  • int *number; .... scanf("%d",number[index]); Save time. Enable compiler warnings, Faster feedback the posting on SO. Commented Dec 14, 2019 at 8:16
  • Generally scanf is not a good idea. See what-can-i-use-for-input-conversion-instead-of-scanf for lots of information on this. Using fgets in combination with sscanf is already a big improvement. Commented Dec 16, 2019 at 17:11

1 Answer 1

2

Use this instead:

scanf("%d", &number[index]);

Note the & operator before number[index] is needed when using scanf for integer input.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.