IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Signal division par zéro


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Par défaut Signal division par zéro
    Salut a tous .Voila j'ai mon problème. j'ai écris un programme en c qui permet d'afficher un message sur écran avant le traitement standard de l'exception division par zéro.

    je voudrais savoir comment mettre en œuvre le fonctionnement de cette routine?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par prodi Voir le message
    je voudrais savoir comment mettre en œuvre le fonctionnement de cette routine?
    tester la valeur avant de faire la division ??


  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    tu parles de SIGFPE je suppose.
    Ce que tu veux faire c'est qu'au lieu de te faire jeter à l'exécution si jamais tu divises par zéro, de pouvoir traiter en amont ?

    ou bien seulement ignorer SIGFPE pour par te faire jeter ?

    Un exemple simple est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #include <signal.h>
    #include <stdio.h>
     
    void Dividedby0_interrupt(void);
     
    void Dividedby0_interrupt(void)
    {
    fprintf(stdout,"Signal FPE reçu\n");
    exit(-1);
    }
     
     
    int main (void)
    {
    int i=5;
    int val;
    static struct sigaction sigact = {Dividedby0_interrupt,0, 0};
     
    sigaction (SIGFPE, &sigact, 0);
     
    scanf("%d",&val); 
    i=i/val;
    fprintf(stdout,"valeur: %d\n",i);
    }
    si tu rentre 0, tu passes dans la fonction Dividedby0_interrupt, sinon il continue son chemin

Discussions similaires

  1. Division par zéro
    Par soltani1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/05/2006, 09h42
  2. [Tableaux] Pb de division par zéro...
    Par blueice dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 15h52
  3. [CR][VS.NET]Division par zéro
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 31/08/2005, 14h40
  4. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo