Программа C работает в Linux, но не в Windows? ⇐ Linux
-
Anonymous
Программа C работает в Linux, но не в Windows?
Я новичок в C, но в последнее время посвятил больше времени его изучению из-за курса, в котором я учусь, но у меня возникла странная проблема с моей программой. Приведенный ниже код компилируется как в Linux, так и в Windows, но при запуске он работает корректно в Linux, но в Windows он просто переходит к «Концу выполнения программы».
#include пустая окружность (int a); // прототипы функций для окружности, площади и объема пустая область (int b); пустой объем (int c); int main (недействительный) { // инициализируем массив из трех указателей на функции, каждая из которых принимает аргумент int и возвращает void void (*f[3])(int) = {окружность, площадь, объём}; printf("%s", "Введите 0, чтобы вычислить длину окружности, 1, чтобы вычислить площадь, 2, чтобы вычислить объем, и 3, чтобы вычислить конец: "); // просит пользователя сделать выбор размер_t выбор; // переменная для хранения выбора пользователя scanf("%u", &choice); ставит(""); // цикл while, проверяющий выбор пользователя, завершающийся, если число 3 или больше while (выбор >= 0 && выбор < 3) { если (выбор == 0) { окружность (на выбор); } // конец, если если (выбор == 1) { район(на выбор); } // конец, если если (выбор == 2) { объем(выбор); } // конец, если ставит(""); printf("%s", "Введите 0, чтобы вычислить длину окружности, 1, чтобы вычислить площадь, 2, чтобы вычислить объем, и 3, чтобы вычислить конец: "); scanf("%u", &choice); ставит(""); } // заканчиваем, пока puts("Выполнение программы завершено."); // Уведомляет пользователя о завершении программы } // конец основного // функция для вычисления длины окружности с заданным пользователем радиусом пустая окружность (int a) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойная окружность = 2*3,14159*радиус; // вычисляет длину окружности по формуле 2πr printf("Вычислена длина окружности.\n"); printf(" Радиус: %lf Окружность: %lf", радиус, окружность); // печатаем радиус и окружность ставит(""); } // конечная окружность // функция для вычисления площади круга с заданным пользователем радиусом пустая область (int b) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойная площадь = 3,14159*(радиус*радиус); // вычисляет площадь по формуле πr^2 printf("Вычислена площадь круга.\n"); printf(" Радиус: %lf Площадь: %lf", радиус, площадь); // печатает радиус и площадь ставит(""); } // конечная область // функция для вычисления объема сферы с заданным пользователем радиусом пустой объем (int c) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойной объем = (4,0/3,0) * 3,14159 * (радиус * радиус * радиус); // вычисляет объем по формуле (4/3)πr^3 printf("Объем сферы рассчитан.\n"); printf(" Радиус: %lf Объем: %lf", радиус, объем); // печатает радиус и объем ставит(""); } // конец тома У меня никогда раньше не возникало такой проблемы, поэтому я немного озадачен, так как не думаю, что использовал что-то специфичное для системы. Любая помощь будет принята с благодарностью.
Я новичок в C, но в последнее время посвятил больше времени его изучению из-за курса, в котором я учусь, но у меня возникла странная проблема с моей программой. Приведенный ниже код компилируется как в Linux, так и в Windows, но при запуске он работает корректно в Linux, но в Windows он просто переходит к «Концу выполнения программы».
#include пустая окружность (int a); // прототипы функций для окружности, площади и объема пустая область (int b); пустой объем (int c); int main (недействительный) { // инициализируем массив из трех указателей на функции, каждая из которых принимает аргумент int и возвращает void void (*f[3])(int) = {окружность, площадь, объём}; printf("%s", "Введите 0, чтобы вычислить длину окружности, 1, чтобы вычислить площадь, 2, чтобы вычислить объем, и 3, чтобы вычислить конец: "); // просит пользователя сделать выбор размер_t выбор; // переменная для хранения выбора пользователя scanf("%u", &choice); ставит(""); // цикл while, проверяющий выбор пользователя, завершающийся, если число 3 или больше while (выбор >= 0 && выбор < 3) { если (выбор == 0) { окружность (на выбор); } // конец, если если (выбор == 1) { район(на выбор); } // конец, если если (выбор == 2) { объем(выбор); } // конец, если ставит(""); printf("%s", "Введите 0, чтобы вычислить длину окружности, 1, чтобы вычислить площадь, 2, чтобы вычислить объем, и 3, чтобы вычислить конец: "); scanf("%u", &choice); ставит(""); } // заканчиваем, пока puts("Выполнение программы завершено."); // Уведомляет пользователя о завершении программы } // конец основного // функция для вычисления длины окружности с заданным пользователем радиусом пустая окружность (int a) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойная окружность = 2*3,14159*радиус; // вычисляет длину окружности по формуле 2πr printf("Вычислена длина окружности.\n"); printf(" Радиус: %lf Окружность: %lf", радиус, окружность); // печатаем радиус и окружность ставит(""); } // конечная окружность // функция для вычисления площади круга с заданным пользователем радиусом пустая область (int b) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойная площадь = 3,14159*(радиус*радиус); // вычисляет площадь по формуле πr^2 printf("Вычислена площадь круга.\n"); printf(" Радиус: %lf Площадь: %lf", радиус, площадь); // печатает радиус и площадь ставит(""); } // конечная область // функция для вычисления объема сферы с заданным пользователем радиусом пустой объем (int c) { двойной радиус; // переменная для радиуса printf("Пожалуйста, введите радиус: "); // просит пользователя ввести радиус и сохраняет его scanf("%lf", &radius); ставит(""); двойной объем = (4,0/3,0) * 3,14159 * (радиус * радиус * радиус); // вычисляет объем по формуле (4/3)πr^3 printf("Объем сферы рассчитан.\n"); printf(" Радиус: %lf Объем: %lf", радиус, объем); // печатает радиус и объем ставит(""); } // конец тома У меня никогда раньше не возникало такой проблемы, поэтому я немного озадачен, так как не думаю, что использовал что-то специфичное для системы. Любая помощь будет принята с благодарностью.
Мобильная версия