Intereting Posts
В C, как сортировать массив указателей, где каждый указатель указывает на массив переменной длины int? что происходит, когда вы вводите такие вещи, как 12ab, в scanf («% d», & arg)? Почему деление работы на большее количество streamов занимает больше времени? Проблема с односторонним полетом Неразрешенное включение: . Зачем? makefile включает * .h файл в другой каталог C с неопределенными результатами, компилятор генерирует неверный код (с -O3) Дублирование пакетов в многоадресном приемнике Socket странная ошибка seg, вероятно, с realloc Helgrind (Valgrind) и OpenMP (C): избегать ложных срабатываний? Замена нескольких новых строк в файле одним Являются ли значения enums разрешенными в течение времени препроцесса или во время компиляции? Почему временная сложность O (n ^ 2) в этом коде? Зачем использовать xor с литералом вместо инверсии (побитовое) Какие библиотеки по умолчанию принимаются при компиляции проекта C с помощью GCC

решение уравнения в ошибке сегментации C

#include  int main() { printf("choose number"); c(); } c() { printf("1. ax+b=0\n\n"); printf("2. ax+by+c=0\n dx+ey+f=0\n\n"); int n; scanf("%d", &n); if (n > 3) wrong(); if (n == 1) formula1(); if (n == 2) formula2(); if (n == 3) ; formula3(); } wrong() { printf("Please choose a number between 1 and 3.\n\n"); c(); } formula1() { printf("ax+b=0\n"); printf("Enter your values for a and b respectively, seperated by commas\n"); float a, b, x; scanf("%f,%f,%f", &a, &b); x = -b / a; printf("x=-b/a\n"); printf("=>x=%f", x); question(); } formula2() { printf("ax+by+c=0\n\ndx+ey+f=0\n"); printf( "Enter your values for a, b, c, d ,e and f respectively, seperated by commas\n"); float a, b, c, d, e, f, x, y; scanf("%f,%f,%f,%f,%f,%f", &a, &b, &c, &d, &e, &f); x = ((f * b) - (c * e)) / ((a * e) - (d * b)); y = ((c * d) - (f * a)) / ((e * a) - (d * b)); printf("=>x=%f", x); printf("\n\n"); printf("=>y=%f", y); question(); } question() { char t; printf("\n\nanother equation?\ny/n?\n"); if (t == 'y') { printf("\n\n\n\n\n"); c(); } else if (t != 'n') question(); } 

У меня есть этот код, который коротким решает 3 уравнения. Когда вы выбираете какой-либо выбор, он, кажется, многократно запускает метод вопроса, а затем завершает работу из-за segmentation fault: 11

Может ли кто-нибудь указать, где я ошибаюсь. Любая другая помощь с моим кодом будет с благодарностью

Вот одна проблема:

 scanf("%f,%f,%f",&a, &b); 

Для трех значений предоставляются только два аргумента.

В question() нет функции ввода, например scanf() поэтому если t не является «y» или «n», вы получаете бесконечную рекурсию до тех пор, пока размер стека не будет превышен …