fork download
  1. #include <stdio.h>
  2.  
  3. int readData(double data[], int size) /* Change return type */
  4. {
  5. FILE* fp;
  6. fp = stdin; /* fopen("data.txt", "r"); temporary change to check */
  7. int i;
  8.  
  9. for (i = 0; i < size; i++)
  10. {
  11. if( fscanf(fp, "%lf", &data[i]) < 1) break; /* Added */
  12. if(data[i] < 0)
  13. printf("Negative data at %d\n", i);
  14. }
  15. size = i;
  16.  
  17. printf("The array is: ");
  18. for (i = 0; i < size; i++)
  19. {
  20. printf("%f ", data[i]);
  21. }
  22. /* fclose(fp); temporary */
  23. printf("\n");
  24.  
  25. return size;
  26. }
  27.  
  28. int main(void) {
  29. double arr[100];
  30. size_t size = readData(arr, 100);
  31. printf("Size of array = %u\n", size);
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0s 2296KB
stdin
1.0
3.14
1.5
42
5.0
stdout
The array is: 1.000000 3.140000 1.500000 42.000000 5.000000 
Size of array = 5