Функция EOF в c ++ | c - PullRequest
0 голосов
/ 21 июля 2010

например, есть код

#include <algorithm>
#include <stdio.h>
#include <iostream>



int intcomp(int *x,int *y) {  return *x-*y;};
int a[10000];
int main(void){
    int i; int n=0;
     while (scanf("%d",&a[n])!=EOF)
          n++;
     qsort(a,n,sizeof(int),intcomp);
      for (int i=0;i<n;i++)
           printf("%d\n",a[i]);
       return 0;


}

как сообщить компьютеру, что EOF достигнут?

Ответы [ 2 ]

6 голосов
/ 21 июля 2010

Вы имеете ввиду при вводе ввода в интерактивном режиме?В оболочке Windows Ctrl + Z на отдельной строке.В * nix оболочке ctrl + d.Или просто поместите свой ввод в файл и передайте его по конвейеру, тогда вы не только будете обнаружены в нужное время, но и сможете автоматизировать тестирование.

1 голос
/ 21 июля 2010

Вы должны использовать комбинацию CTRL + Z (или каким-либо образом ввести символ с кодом 26, например, нажав ALT + 2 + 6 на дополнительной клавиатуре)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...