Почему я получаю выход -1. # R? - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь взять разделенные пробелами значения для продаж массива, используя переменную sentinel для завершения цикла, когда пользователь вводит -1. Цикл печати печатает информацию в таблице. Но когда я компилирую и запускаю программу, я получаю -1. # R в выходных данных. Почему я это понимаю?

Я использую Atom для написания и tdm-gcc в качестве моего компилятора. Я понял, что объявление продаж в качестве статической переменной решает проблему. Но почему я получил этот -1. # R выход? Использование onlinegdb.com также решает проблему. Я просто не могу понять, что означает -1. # R.

static double sales[4][5];
  double sum=0, cache=0;
  int x=0,y=0;
  printf("Enter Salesperson Number (1-4), Product Number (1-5) and Total Product Value\n\n");
  while(x>=0) {
    scanf("%d",&x);
    if(x<0) break;
    scanf("%d%*c%lf", &y, &cache);
    sales[x-1][y-1] = cache;

  }

  printf("  %-13s%-18s%-18s%-18s%-18s%-18s\n", "","Salesperson 1","Salesperson 2","Salesperson 3","Salesperson 4","Total (Product)");
  for(int j=0;j<5;++j) {
    printf("  Product %-5d   ",j+1);
    for(int i=0; i<4; ++i) {
      printf("%-18.2f", sales[i][j]);
      sum += sales[i][j];
    }
    printf("%.2f\n",sum);
    sum=0;
  }
  printf("  Total           ");
  for(int i=0;i<4;++i) {
    sum=0;
    for(int j=0;j<5;++j) {
      sum += sales[i][j];
    }
    printf("%-18.2f", sum);
  }

1 2 10
-1
               Salesperson 1     Salesperson 2     Salesperson 3     Salesperson 4     Total (Product)
  Product 1       0.00              0.00              0.00              0.00              0.00
  Product 2       10.00             0.00              0.00              -1.#R             -1.#R
  Product 3       0.00              0.00              0.00              0.00              0.00
  Product 4       0.00              0.00              0.00              0.00              0.00
  Product 5       0.00              0.00              0.00              0.00              0.00
  Total           10.00             0.00              0.00              -1.#R
...