Array

drogbut11 Messages postés 3 Statut Membre -  
ElementW Messages postés 5690 Statut Contributeur -
salut a tous,
je suis un debutant sur C et quant je veux compiler un program array sur visual studio 2012 je recois ce message error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
et je ne sais pas se qu'il faut faire!
merci a l'avance pour tout aide

3 réponses

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    Ajoute
    #define _CRT_SECURE_NO_DEPRECATE
    dans ton code (dans les headers).
    Cela désactivera ces messages d'erreur, car VisualStudio force les gens, même mes débutants, à écrire du code soit-disant plus "safe" (sécurisé) mais pas standard (donc menant les gens sur des "fausses pistes", scanf_s() n'existe pas sur Linux par exemple, scanf() si).
    Il n'y a que le compilateur de Microsoft qui se plaint de ça.

    De toute façon en tant que débutant, il n'est pas nécessaire de s'embêter à écrire du code 100% sécurisé , et encore moins en version Micosoft.
    Le standard C évolue encore et fournira de nouvelles alternatives à scanf() si besoin. Et ce n'est pas le cas.
    0
  2. drogbut11 Messages postés 3 Statut Membre
     
    j'essaye avec mais j'ai toujour la meme erreur. voici le programm que je veux compiler
    #include <stdio.h>
    #define _CRT_SECURE_NO_DEPRECATE

    int main( void )
    {
    float umsatz[7];
    float summe, hoechsterWert, niedrigsterWert;
    int i;
    for( i = 0; i < 7; i++ )
    {

    printf( "Bitte die Umsaetze der letzten Woche eingeben: \n" );

    scanf( "%f", &umsatz[i] );
    }
    summe = 0;
    hoechsterWert = umsatz[0];
    niedrigsterWert = umsatz[0];
    for( i = 0; i < 7; i++ )
    {
    summe += umsatz[ i ];
    if( hoechsterWert < umsatz[i] )
    hoechsterWert = umsatz[i];
    if( niedrigsterWert > umsatz[i] )
    niedrigsterWert = umsatz[i];
    }
    printf( "Gesamter Wochengewinn: %f \n", summe );
    printf( "Hoechster Umsatz: %f \n", hoechsterWert );
    printf( "Niedrigster Umsatz: %f \n", niedrigsterWert );
    return 0;
    }
    0
    1. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      Alors ajoute aussi un #define _CRT_SECURE_NO_WARNINGS
      0
  3. drogbut11 Messages postés 3 Statut Membre
     
    on me dit que de regarder la Deklaration de 'scanf'
    je ne sais pas si je doit changer de compilateur
    0
    1. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      Changer de compilateur (surtout avec un outil de Micosoft, beuh) serait trop dur pour un débutant.
      Les 2 #defines n'ont ils pas suffit? "on me dit que de regarder la Deklaration de 'scanf'", c'est-à-dire?
      0