Tratando de ejecutar un progtwig en C

¿Puede alguien ayudarme a ejecutar este progtwig? Intenté esto:

#include  #include  #include  int main(void) { double Cateto1; double Cateto2; double hipotenusa; printf("dame el primer cateto: "); scanf("%1f", Cateto1); fflush(stdout); printf("dame el segundo cateto: "); scanf("%1f", &Cateto2); fflush(stdout); hipotenusa = sqrt ((Cateto1*Cateto1)+(Cateto2*Cateto2)); printf("hipotenusa= %2f",hipotenusa); system("pause"); } 

Puedo construirlo pero no puedo ejecutarlo … me da:

FALLA DE EJECUCIÓN (valor de salida -1.073.741.790, tiempo total: 17 s)

 scanf("%lf", Cateto1); ↑ ↑ | You are missing a '&' character here The width specifier for doubles is l, not 1 

El primer argumento para scanf debe ser "%lf" (como la letra L) para especificar que la variable de salida correspondiente es un puntero que se duplica en lugar de un flotador. '1' (Uno) no tiene significado para scanf.

Se espera que el segundo argumento para escanear aquí sea un puntero que se duplique, y en su lugar, se le da un doble.
Supongo que es un error tipográfico simple, ya que lo entendiste bien la segunda vez.

Aquí está el error:

 scanf("%1f", Cateto1); 

Cambiarlo a:

 scanf("%1f", &Cateto1); 

Hay un error en tu código. En lugar de

 scanf("%1f", Cateto1); 

Deberías escribir:

 scanf("%1f", &Cateto1); 

Error simple

 scanf("%1f", &Cateto1); // '&' was missing in all scanf statements 
  #include  #include  int main(void) { double Cateto1; double Cateto2; double hipotenusa; printf("dame el primer cateto: "); scanf("%lf", &Cateto1); //fflush(stdout); printf("dame el segundo cateto: "); scanf("%lf", &Cateto2); //fflush(stdout); hipotenusa = sqrt ((Cateto1*Cateto1)+(Cateto2*Cateto2)); printf("hipotenusa= %2f\n",hipotenusa); //system("pause"); return 0; } 

Hay un par de errores:

  • La syntax de la expresión scanf fue incorrecta: “% 1f” debería ser “% lf”
  • Debes pasar la dirección de Cateto1 ( &Cateto1 ) a scanf
  • No necesitas el fflush
  • No necesitas la llamada al system

Aquí está el código actualizado:

 #include  #include  #include  int main(void) { double Cateto1; double Cateto2; double hipotenusa; printf("dame el primer cateto: "); scanf("%lf", &Cateto1); printf("dame el segundo cateto: "); scanf("%lf", &Cateto2); hipotenusa = sqrt ((Cateto1*Cateto1)+(Cateto2*Cateto2)); printf("hipotenusa= %2f\n",hipotenusa); }