Где скачать компилятор для С, а не C++? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Я понимаю, что в разделе С++ есть тема, где изложен список бесплатных IDE для С/С++ программы. Эти два языка очень схожы, но на моем VS2012, VS 2013 ULTIMATE, CODEBLOCKS компилятор не компилирует даже простейшие проги написанные на С, а проги С++ все компилируются. Вопрос, кто знает где я могу скачать компилятор для С, а не С++? с уважением, Человек, который уже целую неделю не может С компилятор скачать. Новичок Программист.

Решение задачи: «Где скачать компилятор для С, а не C++?»

textual
Листинг программы
#include <stdio.h>
#include <string. h>
#define MAXLINES 5000 /* максимальное число строк */
char *lineptr[MAXLINES]; /* указатели на строки */
int readlines(char *lineptr[], int nlines);
void wntelines(char *lineptr[], int nlines);
void qsort(char *lineptr[], int left, int right);
/* сортировка строк */
int main()
{
    int nlines; /* количество прочитанных строк */
    if ((nlines = readlinesdineptr, MAXLINES)) >= 0) {
        qsort(lineptr, 0, nlines - 1);
        writelines(lineptr, nlines);
        return 0;
    }
    else {
        printf("ошибка: слишком много строк\п");
        return 1;
    }
}
#define MAXLEN 1000 /* максимальная длина строки */
int getline(char *, int);
char *alloc(int);
/* readlines: чтение строк */
int readlines(char *lineptr[], int maxlines)
{
    int len, nlines;
    char *p, line[MAXLEN];
    nlines = 0;
    while ((len = getline(line, MAXLEN)) > 0)
    if (nlines >= maxlines I !(p = alloc(len)) == NULL)
        return -1;
    else {
        line[len - 1] = '\0'; /* убираем символ \n */
        strcpy(p, line);
        lineptr[nlines++] = p;
    }
    return nlines;
    /* writelines: печать строк */
    void writelines(char *lineptr[], int nlines)
    {
        int i;
        for (i = 0; i < nlines; i++)
            printf("%s\n", lineptr[i]);
    }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: stdio.h и string.h
  2. Определяются две константы: MAXLINES и MAXLEN, которые задают максимальное количество строк и максимальную длину строки соответственно.
  3. Создаются две функции: readlines и wntelines. Функция readlines отвечает за чтение строк из файла или стандартного ввода, а функция wntelines - за вывод строк на экран.
  4. В функции main создается переменная nlines, которая инициализируется значением, равным количеству прочитанных строк.
  5. Если количество строк не превышает максимальное значение, то происходит сортировка массива строк с помощью функции qsort.
  6. Затем происходит вывод отсортированных строк на экран с помощью функции wntelines.
  7. Если же количество строк превышает максимальное значение, то выводится сообщение об ошибке и возвращается значение 1.
  8. Функция readlines работает в цикле, пока не будет достигнут конец файла или не будет достигнуто максимальное количество строк.
  9. В каждой итерации цикла считывается строка с помощью функции getline, выделяется память под строку с помощью функции alloc и добавляется в массив строк.
  10. Функция qsort сортирует массив строк по умолчанию, сравнивая строки посимвольно.
  11. Функция wntelines выводит строки на экран в порядке их сортировки.
  12. Функция getline считывает строку из файла или стандартного ввода и возвращает ее длину.
  13. Функция alloc выделяет память под строку указанной длины.
  14. Если память не может быть выделена, то возвращается значение NULL.
  15. Если выделенная память не может быть записана или прочитана, то возвращается значение -1.
  16. Значение MAXLINES используется для контроля количества строк, считываемых из файла или стандартного ввода.
  17. Значение MAXLEN используется для контроля максимальной длины считываемой строки.
  18. Значение nlines используется для контроля количества строк, которые уже были прочитаны и добавлены в массив.
  19. Значение p используется для хранения указателя на выделенную память под строку.
  20. Значение len используется для хранения длины считываемой строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы