Progtwig C: falla de segmentación

Soy nuevo en la progtwigción de C y tengo una falla de segmentación en algún lugar de mi código. El progtwig utiliza una función de devolución para pedir a un usuario el inicio de cuánto dinero tiene en su cuenta bancaria. más adelante agregaré un código para calcular el interés. Gracias por considerarme esto porque tengo muchos problemas para descubrir por qué obtengo este error.

#include  #include  int getPV() { int d; int start; printf("Start: "); scanf("%d", start); d = start; return d; } int main() { int pv; pv = getPV(); print("%d",pv); return 0; } 

Cuando llama a scanf, debe pasar la address of the variable en la que desea almacenar el valor.

Eso significa que, si desea almacenar el valor en start variable, debe pasar la address of start a scanf .

Puede obtener la dirección de una variable utilizando el operador & . Así que necesitas cambiar tu scanf a:

 scanf("%d", &start); 

Se produce un error de segmentación al usar scanf("%d", start); porque, start es una variable automática y tendrá un valor de basura (aleatorio) antes de asignarle algún valor. scanf tratará este valor aleatorio como la dirección a la que debe almacenarse el valor ingresado por el usuario. Ahora, cuando scanf intenta almacenar el valor ingresado por el usuario en esta ubicación de dirección aleatoria, se produce un error de segmentación, porque es muy probable que su progtwig no tenga acceso a esa ubicación de dirección.