fork download
  1. //задача: написать функцию, считающую количество вхождений каждого символа в файл
  2. //table.c
  3. #include "Header.h"
  4. void readfreq(char* argv[], char* table){
  5. printf("%p\n", table);
  6. FILE* fi;
  7. int i = 0;
  8.  
  9. i = 0;
  10. while (i <= 255){
  11. table[i] = 0;
  12. i++;
  13. };
  14.  
  15. char c;
  16. fi = fopen(argv[2], "r");
  17. while (!feof(fi)){
  18. c = fgetc(fi);
  19. i = 0;
  20. while (i <= 255){
  21. if (c == i){
  22. table[i]++;
  23. break;
  24. }
  25. i++;
  26. }
  27. }
  28. fclose(fi);
  29.  
  30. //выдает правильный ответ, если вызывать в теле функции
  31. i = 0;
  32. while (i <= 255){
  33. printf("%d\n", table[i]);
  34. i++;
  35. }
  36.  
  37. }
  38.  
  39.  
  40. //main.c
  41. #include "Header.h"
  42. int main(int argc, char* argv[]){
  43. int i;
  44. FILE* fi;
  45. int table[256];
  46.  
  47. readfreq(argv, table);
  48.  
  49. //выдает всегда одну и ту же поеботу в мэйне
  50. i = 0;
  51. while (i <= 255){
  52. printf("%d\n", table[i]);
  53. i++;
  54. }
  55.  
  56. return 0;
  57. }
Runtime error #stdin #stdout 0s 2140KB
stdin
Standard input is empty
stdout
Standard output is empty